Почему не работает этот jQuery hover ()? - PullRequest
0 голосов
/ 24 декабря 2011

У меня есть 2 формы внутри пользовательского тега HTML с именем uptoppage.

Когда документ загружается, я сдвигаю элемент, содержащий формы.Когда кто-то снова наводит указатель мыши на родительский элемент, я хочу, чтобы он скользил вниз.Вместо этого ничего не происходит.

Вот моя разметка:

<uptoppage>controller....
  <uptpc>
    <form>.....</form>
    <form>......</form>
  </uptpc>
<uptoppage>

Вот jQuery, который я использую:

$("uptoppage").hover(function() {
  $('uptpc', this).slideDown();
}, function() {
  $('uptpc', this).slideUp();
});

Ответы [ 2 ]

0 голосов
/ 24 декабря 2011
<script type="text/javascript">
     $(document).ready(function(){ 
           $('form').hover(function(){
             $('form').slideUp();
             $(this).slideDown();
           });
        });
</script>
0 голосов
/ 24 декабря 2011

Следите за изменениями размера

Я не вижу ничего плохого в том, что вы используете hover() или ваши функции обратного вызова. Я возился с твоим примером; основное странное поведение, которое я видел, было, если дочерний элемент скрыт, и это приводит к тому, что родитель становится настолько маленьким, что выходит из-под мыши.

Другими словами, jQuery следит за тем, чтобы навести курсор на элемент. Если этот элемент растет и уменьшается, он может измениться, если вы по-прежнему находитесь над ним, вызывая зависание, затем зависание и т. Д. Без движения мыши. Поэтому убедитесь, что у вас есть некоторый другой контент в родительском элементе и / или он имеет некоторый размер, заданный ему CSS.

Проверьте вашу разметку

Я бы также согласился с первым комментарием: вам не следует использовать пользовательские элементы, если вы можете избежать этого. Я дал родительскому элементу границу, чтобы я мог видеть, насколько он большой, но стиль не отображался, пока я не сделал его div с идентификатором вместо пользовательского типа элемента.

Если это вообще возможно, используйте идентификаторы и классы для идентификации стандартных элементов вместо использования пользовательских. Чем необычнее ваша разметка, тем более неопределенными будут проблемы - «Это проблема с моим JS или браузер задыхается от моего пользовательского HTML?»

...