折叠不要删除.open

时间:2015-11-04 11:56:25

标签: jquery twitter-bootstrap collapse

我有一个大问题。当我站在我网站的子页面上时,我希望我的.active在我的移动菜单中显示课程open,以便在我的下拉列表中打开。

我试过这个:

jQuery('.active').addClass('open');
jQuery('.active i').attr("aria-expanded","true");

它将这些类添加到我可以通过检查看到的元素中,但只要我点击并激活移动菜单折叠,它就会再次删除这些类。我怎样才能防止这种情况发生?我可以看到这是bootstrap.js在崩溃时删除我的课程。

2 个答案:

答案 0 :(得分:0)

我用这个来解决它:

jQuery(function()
{
    jQuery(".dropdown.active").on("hide.bs.dropdown",function(e) {
        e.preventDefault();
        return false;
    });

   jQuery('.mobilemenu .active').addClass('open');
   jQuery('.mobilemenu .active i').addClass('open2');
   jQuery('.mobilemenu .active i').attr("aria-expanded","true"); 
});

但现在我无法关闭开放部分,因为我已经添加了preventDefault。我怎样才能使这个工作?

答案 1 :(得分:0)

这是我的解决方案

jQuery(function()
    {
        jQuery(".dropdown.active").on("hide.bs.dropdown",function(e) {
            e.preventDefault();
            return false;
        });

       jQuery('.mobilemenu .active').addClass('open');
        jQuery('.mobilemenu .active i').attr("aria-expanded","true");
    });

    jQuery(".mobilemenu .active i").click(function(){
        element = jQuery(".mobilemenu .active ul");
        if (element.hasClass ("openz")) {       
                element.removeClass('openz');
        } else {
                element.addClass('openz');
        }
    });
};

我的.openz课只有display:none;像这样:

.openz {
    display: none !important;
}

但是我不能让动画工作..所有其他元素都有不透明度:0结束时转换,但这只是关闭。我试图添加淡出,但所有发生的是它等待0.5秒然后关闭,没有淡出效果,我做错了什么?我不能使用淡出效果?