jQuery - показывать только текущий ul - PullRequest
1 голос
/ 24 августа 2011

я новичок в jQuery и имею небольшую проблему со следующей навигацией:

http://jsfiddle.net/6Dh8j/7/

По сути, мне нравится навигация в разделе Creative Production этого прекрасного сайта: http://www.gainsburyandwhiting.com> см. Портфолио> Показ мод и т. Д. *

Мне нужно скрыть текущий ul и показать свежий на его месте. В данный момент они показываются, пока я не откручиваю родительский элемент.

Есть мысли?

Спасибо, Красный

1 Ответ

1 голос
/ 24 августа 2011

Вам необходимо скрыть все ul элементы, которые являются потомками братьев и сестер текущего ul например,

$(this).siblings().find('ul').fadeOut('fast');

. Здесь находится каждый брат кликаемого ul (все из которых являютсяul в примере) и находит все элементы ul, которые выходят за свои границы, и затемняет их.

В контексте вашего кода:

$("nav ul li").find("ul").hide().end()
  .click(function(e) {
     if (this == e.target) {
       $(this).siblings().find('ul').fadeOut('fast');
       $(this).children('ul').fadeToggle('fast');    
     }
});
...