【问题标题】:Show/hide a Bootstrap Collapse element with no animation显示/隐藏没有动画的 Bootstrap Collapse 元素
【发布时间】:2016-01-13 19:31:17
【问题描述】:

我知道您可以完全禁用折叠动画,如接受的this question.回答中所述

但是有什么方法可以一次性禁用.collapse('show').collapse('hide') 调用的动画?我真的很想能够做这样的事情:

.collapse({'show', 
    animation : false        
});

但是这个选项好像不存在。

这可能吗?

【问题讨论】:

    标签: javascript twitter-bootstrap animation


    【解决方案1】:

    如果您不想要动画,那么为什么要使用collapse 功能。只需使用 JQuery 的 hideshow

    $(".my-prev-collapse-element").hide();
    $(".my-prev-collapse-element").show();
    

    根据@Redtama的建议,可以直接阻止动画:

    $("my-prev-collapse-element").addClass("in");
    $("my-prev-collapse-element").removeClass("in");
    

    隐藏或显示没有动画的元素。

    【讨论】:

    • 非常感谢您的回答!我尝试使用 JQuery 的函数,但 bootstrap 折叠元素似乎对它所处的状态感到困惑(例如,如果我使用 JQuery hide,那么 bootstrap 仍然认为该元素已显示)。
    • 但是你的回答帮助我找到了解决方案,因为我意识到我可以使用 JQuery 来做到这一点$("my-prev-collapse-element").addClass("in");如果你愿意,你可以编辑你的答案,因为你确实帮助我提出了有了它:)
    • 很高兴,它有帮助。按照您的建议更新了答案。
    【解决方案2】:

    好的,这就是我使用 JQuery 提出的解决方案

    $("myCollapseElement").addClass("in");
    

    将扩展没有动画的元素并且

    $("myCollapseElement").removeClass("in");
    

    将折叠没有动画的元素。

    此解决方案适合我的目的,但是有一个功能要求能够按照我在问题中建议的方式进行操作:Bootstrap Issue enable/disable animation of Collapse on a per-show/hide basis

    所以当 twitter 上的人发布这个功能时,我会更新我的答案。但目前,使用 JQuery 添加引导类 in 对我有用。

    【讨论】:

    • Boostrap 4 中的类已更改,所以下面是适用于该版本的代码:$("myCollapseElement").addClass("show"); 显示没有动画的元素 $("myCollapseElement").removeClass("show"); 隐藏没有动画的元素
    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    相关资源
    最近更新 更多