想要實現的是折疊選單,但是slidetoggle 只能點擊才能收起來,我要的是點擊別的選項,已經展開的自動折疊,請問怎麼修改?
程式碼如下:
$("> li", this).each(function () {
$(this).bind("click", function () {
if($(this).hasClass('active')){
//$(".inner ol").hide();
//$(this).siblings("ol").slideToggle(settings.speed);
$(this).next("ol").slideToggle(settings.speed);
$(this).removeClass('active');
}else{
$(this).siblings('li').removeClass('active');
//$(".inner ol").hide();
$(this).addClass('active')
$(this).next("ol").slideToggle(settings.speed);
}
});
});
//默认折叠
$("> ol", this).hide();
ringa_lee2017-07-05 11:08:06
思路如下:
1.點選目前選單的時候,記錄下來,先把所有開啟的選單全部關閉,最後再把自己開啟
$(".menu .menu-header").on("click",function(){
var toggleTarget=$(this);
//先把其他得关掉
$(".menu .menu-content").removeClass("active");
$(this).find(".menu-content").addclass("active");
})
以上程式碼只是一個示範例子,大概思路捋捋,看看行不
天蓬老师2017-07-05 11:08:06
網上查詢了下資料,原來有個slideup()函數,用他替換hide()即可,感謝!
$("> li", this).each(function () {
$(this).bind("click", function () {
if($(this).hasClass('active')){
$(".inner ol").slideUp('500');
$(this).removeClass('active');
}else{
$(this).siblings('li').removeClass('active');
$(".inner ol").slideUp('500');
$(this).addClass('active')
$(this).next("ol").slideToggle(settings.speed);
}
});
});
//默认折叠
$("> ol", this).hide();