2

我将以下 jQuery 用于手风琴菜单:http: //jsfiddle.net/fPWeq/

rel = 0;
$('.sub-menu').hover(function(){ // findind mouse postion
        rel = 1; // if mouse on submenu
    }, function(){ 
        rel = 0;  // if mouse out submenu
});
$('.menu > li').live("click",function(){
        if(!$(this).hasClass("active")){ // if not already opened
            $('.sub-menu').slideUp();    // hide all other submenu
            $('.sub-menu',this).slideDown();  // show which your clicked
            $(".menu > li").remove('active');  //  remove all active class in li
            $(this).addClass('active'); //adding active class which your clicked li
        }
        else{
            if(rel==0){
                $('.sub-menu').slideUp(); // if clicked already opend parent that will close
                $(this).removeClass('active'); // remove all active class
            }
            else{
            }
        }
});
;​

当单击其中的子菜单链接时,我很难弄清楚如何停止活动(预先打开的)子菜单关闭和再次打开。

任何想法我做错了什么?

4

2 回答 2

1

删除 class="current-parent" ,它不应该显示子打开。检查这里http://jsfiddle.net/fPWeq/1/

于 2012-12-14T10:45:40.623 回答
0

.toggleClass("current-parent")如果您想再次激活打开/关闭,这也是一个不错的选择。

于 2012-12-14T10:47:54.530 回答