【问题标题】:Collapse dont remove .open折叠不要删除 .open
【发布时间】:2016-02-04 21:55:05
【问题描述】:

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

我试过这个:

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

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

【问题讨论】:

  • 你应该更明确...
  • 使用 Jquery 在元素上设置类 - 不要更改 BootStrap
  • 幸运,但这就是我已经做的,它确实添加了类。但是当我折叠移动菜单时,它会重置为“默认”,即删除开放类并将 aria-expanded 设置为 false。

标签: jquery twitter-bootstrap collapse


【解决方案1】:

这是我的解决方案

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;
}

但是我不能让动画工作.. 我所有的其他元素都有一个 opacity:0 并在关闭时有过渡,但这只是关闭。我试图添加淡出,但所发生的只是它等待 0.5 秒然后关闭,没有淡出效果,我做错了什么?我不能使用淡出效果吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-10
    • 2015-03-26
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 2013-07-20
    • 1970-01-01
    相关资源
    最近更新 更多