我正在尝试链接到bootstrap 3手风琴的特定面板。链接将位于导航菜单中,因此有时链接将与手风琴位于同一页面上,有时它们将位于不同的页面上。我有一个示例,当链接在不同的页面上时可以使用,但如果您在同一页面上,它就不起作用。在这两种情况下我都需要它。
以下是我使用的代码:
jQuery(document).ready(function($) {
// open panel when linked from an external link (this works)
location.hash && $(location.hash + '.collapse').collapse('show');
// open panel when link is on the same page (incorrectly requires double click)
$(".nav-left a").on("click", function() {
location.hash && $(location.hash + '.collapse').collapse('show');
});
});
这是一个演示,显示它从外部链接打开正确的面板:
http://www.bootply.com/render/123550/#service2
(如果该网址不起作用,您可能需要将此网址复制并粘贴到您的浏览器中。)
但是,如果您已经在页面上尝试使用链接,则必须双击它们才能让它们打开相应的面板。
以下是使用我的代码指向完整bootply的链接:http://www.bootply.com/123550
感谢您的帮助!
答案 0 :(得分:0)
链接的click
处理程序在浏览器跟随链接之前执行,因此您的处理函数仍会看到旧的location.hash
。
为了规避这一点,你可以
hashchange
事件做出反应(其优势在于,当用户使用前进/后退按钮时,它甚至可以工作)或