1

我正在使用带有哈希标签导航的 jQuery-UI 手风琴插件,但我遇到了问题。我网站的每个页面上都有一个手风琴小部件。我的主导航菜单第二级中的 URL 应该使用随附的井号标签打开正确的手风琴面板,它们的编写如下:

<li class="lvl2"><a href="/thepage.jsp#panel-3">panel 3</a></li>

问题是,如果您已经在查看任何手风琴的一个面板,尝试使用第二级导航打开另一个面板是行不通的。它将哈希标记传递到地址栏中,但除非您刷新页面,否则它不会打开手风琴面板。所以我想我可以通过添加一些 jQuery 来解决这个问题,它会导致页面在 500 毫秒后刷新,如下所示:

$('.lvl2 a').click(function() {
    setTimeout(function() {
        location.reload();
    },500);
});

除了现在破坏页面到新页面新手风琴面板的导航。这告诉我答案可能是完全控制二级导航的所有功能并使用 jQuery 处理它。

那么我怎么能改变它来“存储”来自锚标记的 href 属性的 URL,将它传递给浏览器,然后刷新页面呢?

4

2 回答 2

0

如果lvl2手风琴是动态的,您可能需要使用liveorliveQuery代替click.

于 2010-10-21T20:06:22.517 回答
0

我又玩了一些,并设法让它以似乎一致的方式工作。基本上,我将所有 lvl2 锚标记中的 href 属性更改为 rel 属性,然后在我的 jQuery 函数中使用该属性来处理对新 URL 的导航。然后我将超时时间从 500 增加到 1000 毫秒。在它有机会访问新 URL 之前,任何更少的东西似乎都会过早地刷新页面。

$('.lvl2 a').click(function() {
    location.href=$(this).attr('rel');
    setTimeout(function() {
        location.reload();
    },1000);
});
于 2010-10-22T21:04:01.150 回答