在无序列表上切换开/关单击事件

时间:2014-11-19 07:54:23

标签: jquery toggle each

在单独的函数中,我将.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
    }

    ...

修改

根据我在下面的评论小提琴

http://jsfiddle/eg4Lg8vs/

0 个答案:

没有答案