在单独的函数中,我将.addClass("active")
编码到每个列表项,以测试将切换click
事件.on()
和off()
的条件选定的列表项的兄弟姐妹。当条件返回true(活动类添加)时,单击事件将关闭兄弟姐妹,但是当条件返回false时,我似乎无法再次打开它(活动课程已删除)。此外,如果有人帮我写开/关功能的循环而不是我的编码一堆" if"每个列表项的陈述,我都很感激。感谢。
$("#mainList").children().each(function(i){
$(this).on("click", function(){
var currItem = i;
var currItemSiblings = $(this).siblings();
if(currItem == 0) {
functionfirst();
console.log(currItemSiblings );
if($(currItem ).hasClass("active")){
currItemSiblings.off("click");
}
else{
currItemSiblings.on("click");
}
}
if(currItem == 1){
functionSecond();
}
if(currItem == 2){
functionThird();
}
});
});
functionfirst(){
// do stuff...fadeToggle <li>#1 content
// addClass active to the selected list-item
}
functionSecond(){
// do stuff...fadeToggle <li>#2 content
// addClass active to the selected list-item
}
...
修改:
根据我在下面的评论小提琴