Я пытался понять это давно. В основном у меня есть меню, и когда пользователь нажимает на стрелку, он будет скользить.jquery click drop down slide toggle navigation
Хотелось бы, чтобы он сделал несколько вещей.
1) Когда пользователь нажимает на раскрывающийся список стрелок, и он скользит вниз, я бы хотел, чтобы они снова могли нажимать на стрелку, а раскрывающееся меню - вверх.
2) Если пользователь нажимает другое раскрывающееся окно стрелки, я хочу, чтобы первое раскрывающееся меню исчезло, а затем появилось новое раскрывающееся меню.
Это то, что у меня есть до сих пор. Это обособленно работает от точки 2.
$('nav li i').click(function() {
$('nav li i.open').find('.dropdown').not($(this)).slideToggle(300);
$('nav li').find('.open').not($(this)).removeClass('open');
$(this).toggleClass('open');
$(this).parent('nav li').find('.dropdown').slideToggle(300);
});
Вы можете увидеть jsfiddle здесь, который, мы надеемся, показывает его немного лучше (красная коробка активная область):
EDIT: I «Мне удалось заставить второй пункт работать (первый выпадающий список исчезает, если пользователь нажимает на другой), но затем он разбивает первую точку.
$('nav li i').click(function() {
$('nav li.open').not($(this)).find('.dropdown').hide();
$('nav').find('.open').not($(this)).removeClass('open');
$(this).parent('nav li').toggleClass('open');
$(this).parent('nav li').find('.dropdown').slideToggle(300);
});
Спасибо это работало чудесно! Мне удалось это сделать, используя: http://jsfiddle.net/c8kHN/8/ , но я думаю, что ваше решение намного элегантнее - большое вам спасибо! – user1788364