想象一下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
会打开第二个手风琴
答案 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');
}
});