【问题标题】:Bootstrap Collapse - open the given id fragmentBootstrap Collapse - 打开给定的 id 片段
【发布时间】:2012-11-16 08:17:49
【问题描述】:

想象一个由 3 个部分组成的 Bootstrap collapse

<div class="panel-group" id="accordion">
    ...
    <div id="accordionOne" class="panel-heading"></div>
    ...
    <div id="accordionTwo" class="panel-heading"></div>
    ...
    <div id="accordionThree" class="panel-heading"></div>
</div>

有没有简单的方法让插件打开给定的HTTP fragment identifier

示例http://myproject/url#accordionTwo 将打开第二个手风琴

【问题讨论】:

    标签: javascript html twitter-bootstrap fragment-identifier


    【解决方案1】:
    $("#accordionTwo").collapse('show');
    

    要打开给定的 HTTP 片段标识符,试试这个:

    $(document).ready(function() {
        var anchor = window.location.hash;
        $(".collapse").collapse('hide');
        $(anchor).collapse('show');
    });
    

    编辑:

    正如巴特在 cmets 中指出的那样: 定位 .collapse 时要小心,因为当视口为 xs 时,此类也用于导航栏。

    【讨论】:

    • 谢谢,我知道我可以用javascript打开它,甚至不用(使用in类)。问题是关于从 HTTP 片段标识符控制打开的部分。
    • 我编辑了我的答案。您可以通过删除.replace("#", "") 部分并仅选择要使用$(anchor) 显示的元素来改进这一点
    • 小心定位.collapse,因为当视口为xs时,导航栏也会使用此类。
    【解决方案2】:

    这一行将打开正确的哈希

    location.hash && $(location.hash + '.collapse').collapse('show');
    

    【讨论】:

      【解决方案3】:

      另一个解决方案,更小更紧凑:

      $(document).ready(function() {
        var anchor = window.location.hash;
        $(anchor).collapse('toggle');
      });
      

      【讨论】:

        【解决方案4】:

        为了真正简单快速地实现哈希路由,您可以尝试类似Routie

        routie({
            accordionOne: function() {
                $('#accordionOne').collapse('show');
            },
            accordionTwo: function() {
                $('#accordionTwo').collapse('show');
            },
            accordionThree: function() {
                $('#accordionThree').collapse('show');
            }
        });
        

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 2020-02-29
        • 2018-09-04
        • 2013-02-08
        • 1970-01-01
        • 2014-10-16
        相关资源
        最近更新 更多