Bootstrap Collapse - 打开给定的id片段

时间:2012-11-16 08:17:49

标签: javascript html twitter-bootstrap fragment-identifier

想象一下Bootstrap collapse有3个部分

<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会打开第二个手风琴

4 个答案:

答案 0 :(得分:34)

$("#accordionTwo").collapse('show');

要打开给定的HTTP片段标识符,请尝试以下操作:

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

修改

正如评论中的bart指出: 请注意定位.collapse,因为当视口为xs时,此类也会用于导航栏。

答案 1 :(得分:8)

此行将打开正确的哈希

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

答案 2 :(得分:5)

另一种解决方案,有点小巧紧凑:

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

答案 3 :(得分:2)

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

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