jQuery: Toggle - список - PullRequest
       19

jQuery: Toggle - список

0 голосов
/ 05 января 2011

Это продолжение здесь: jQuery: список расширяется при загрузке страницы

Привет

Со времени моего предыдущего поста я работал над другим списком и придумал следующее: http://jsbin.com/emaza4/4

Как вы можете видеть, первый элемент <li> с дочерним элементом <ul> (элемент '#') открывается автоматически при загрузке страницы, а остальные "родители" остаются закрытыми до тех пор, пока не будет нажата какая-либо из них. Я достиг этого, поместив элемент '#' в класс 'abc', а остальные элементы в класс 'xyz'.

Далее я хотел бы иметь возможность щелкнуть по другому родителю, скажем, элементу «AF», и он автоматически закроет любой другой открытый родительский объект, включая элемент «#», принадлежащий другому классу («abc» вместо «xyz»). «).

Поиск «toggle» на этом сайте привел меня к следующему: jQuery динамически переключается

Поэтому я попытался добавить к своему коду следующий код: http://jsbin.com/emaza4/3/, но, похоже, он не работает.

Может ли кто-нибудь указать мне правильное направление, как решить эту проблему? Заранее спасибо. :)

Ответы [ 2 ]

1 голос
/ 05 января 2011

Вы можете просто использовать скрытую версию .toggle('slow') (.hide('slow')) на братьях и сестрах <li> в каждом из ваших обработчиков, например это:

$(this).siblings().children().hide('slow');

Вы можете проверить это здесь .

0 голосов
/ 05 января 2011

Полагаю, вы немного усложнили проблему. Все, что вам нужно, это скрыть все подменю и открыть соответствующее. например.

$('li').click(function (){
  $('ul').hide();
  $(this).find('ul').show();
});
...