jQuery, fadeToggle и элементы списка - PullRequest
0 голосов
/ 14 мая 2011

ОК, так.Я пытаюсь создать своего рода выпадающее меню, используя fadeToggle ().

http://westrock.juggernautwebsites.com/ - это место, где в данный момент находится сайт.

Как вы можете видеть, когда пользовательвыбирает «Свойства», происходит fadeToggle.Однако после того, как выпадающий список появляется, и пользователь хочет выбрать li из раскрывающегося списка свойств, он не может (я знаю, что я возвратил false; установлено, но это должно было быть для оригинального ul, нет?)

Кроме того, при отображении дочерних элементов при наведении указателя мыши на «О» эффект «hover» отображается на дочернем элементе «Свойства» li.

Я ошеломлен.Любая помощь, очень признательна.

$('#menu-item-13').click(function() {
    $(this).children('ul').fadeToggle({
        duration: 200
    });
    return false;
});

* РЕДАКТИРОВАТЬ Я чувствую, что мне нужно ограничить css и jQuery от воздействия на дочерние элементы списка и a, но я не знаю, как это сделать.Я думал, что дети пошли только на один уровень ниже DOM, и, поскольку я выбрал 'ul', функция не будет влиять на элементы списка ...

Ответы [ 2 ]

1 голос
/ 27 мая 2011

Спасибо всем за помощь!Вот что я в итоге и использовал.

$('#primary li').hover(function() {
    $(this).children('ul').fadeToggle({
        duration: 200
    });
});
    $('menu-item-54').click(function() {
    return false;
});

То, что я пытался выполнить при наведении (или щелчке), субнав будет раскрыт открытым.

1 голос
/ 14 мая 2011

Ваш пример совсем не работает для меня, но если я вас правильно понимаю, вы хотите, чтобы обработчик кликов, прикрепленный к родителю, не влиял на ребенка ul.Вы можете сделать это:

$('#menu-item-13 > ul').click(function(e){
   e.stopPropagation();

   // ... do your thing
});

Это в основном останавливает клик на ul от пузырей до родительского #menu-item-13.Из-за этого fadeToggle также не будет срабатывать при нажатии на ul, поэтому, если это все еще необходимо, вам придется добавить его к щелчку ul.

...