Как заставить mouseover распространяться ещё и на вложенные элементы?
Опять здрасти :)
Вот hover распространяется на элемент к которому он, так сказать, применяется и на вложенные элементы... А если использовать mouseover то выпадающее меню не правильно работат, вот часть кода: $(function (){ $('.drop_menu').live('mouseover', function () { if ($(this).find('ul').css('display') == 'none') $(this).find('ul').slideDown(300) } ); $('.drop_menu').live('mouseout', function () { if ($(this).find('ul').css('display') != 'none') $(this).find('ul').slideUp(200) } ); }); меню закрывается, когда мышь перемещаешь на список: <div class="box drop_menu">Пусто<ul><li><a href="#">text</a></li><li>text</li></ul></div> css: .drop_menu { overflow: hidden; cursor: pointer; } .drop_menu ul { display: none; z-index: 1; position: absolute; list-style: none; margin: 0px; } .drop_menu ul li a {display: block;} |
Хоть пошлите меня в правильном направлении куда нить кто нить, почитать чё нить...
|
Используйте:
mouseenter mouseleave |
Цитата:
|
Какое никакое но всё таки нашёл описание:
Microsoft создали 2 новых события mouseenter и mouseleave. Эти события имеют такое же поведение как mouseover и mouseout. Единственно отличие - это то, что события не "перепрыгивают" на дочерние элементы. |
Меню теперь нормально работает (IE7, Chrome и Opera1010), заменил строчку:
$('.drop_menu').live('mouseout', function () { if ($(this).find('ul').css('display') != 'none') $(this).find('ul').slideUp(200) } ); На эту: $('.drop_menu').live('mouseleave', function () { if ($(this).find('ul').css('display') != 'none') $(this).find('ul').slideUp(200) } ); Но работает на новом Jquery 1.4a2, на 1.3 молчит :) |
|
Часовой пояс GMT +3, время: 10:35. |