Я следил за скрипкой, которую я нашел здесь, в stackoverflow
$('li').on('click', function(e){
$(this).find('.outer').slideToggle();
$(this).toggleClass('active', 400);
});
И все работает по мере необходимости, однако, когда я нажимаю на несколько слайдов, все они должны быть закрыты в том порядке, в котором они были открыты, потому что они не закрываются после нажатия нового слайда вниз.
Есть ли способ сделать каждый слайд закрытым после открытия нового слайда?
Вы можете закрыть другой '.outer'
на 'li'
siblings:
$('li').on('click', function (e) {
$(this).find('.outer').slideToggle();
$(this).toggleClass('active', 400);
//remove the active class, then move to its '.outer' child and slide it up
$(this).siblings().removeClass('active').find('.outer').slideUp();
});
Знак S правильный
если вы хотите оптимизировать код дальше, вы можете писать так:
$('li').on('click', function(e){
$(this).find('.outer').slideToggle().end().siblings().removeClass('active').find('.outer').slideUp();
$(this).toggleClass('active', 400);
});
Примечание:
В jsfiddele вы указали код div style = "width: 156px; height: указали встроенные стили. Вместо этого вы можете определить класс на div и объявить соответствующие стили в таблице стилей