jQuery-在同一窗口中启动URL,然后刷新
我正在使用jQueryUI的accordion插件和散列标签导航,但我遇到了一个问题。我网站的每个页面上都有一个手风琴小部件。我的主导航菜单的第二级中的URL应该使用附带的哈希标记打开手风琴的正确面板,它们是这样写的:jQuery-在同一窗口中启动URL,然后刷新,jquery,url,refresh,hashtag,Jquery,Url,Refresh,Hashtag,我正在使用jQueryUI的accordion插件和散列标签导航,但我遇到了一个问题。我网站的每个页面上都有一个手风琴小部件。我的主导航菜单的第二级中的URL应该使用附带的哈希标记打开手风琴的正确面板,它们是这样写的: <li class="lvl2"><a href="/thepage.jsp#panel-3">panel 3</a></li> 除了现在破坏了从页面到新页面和新手风琴面板的导航。这告诉我答案可能是完全控制第二级导航的所有功能,并
<li class="lvl2"><a href="/thepage.jsp#panel-3">panel 3</a></li>
除了现在破坏了从页面到新页面和新手风琴面板的导航。这告诉我答案可能是完全控制第二级导航的所有功能,并使用jQuery进行处理
那么,我如何将其更改为“存储”锚定标记的href属性中的URL,将其传递到浏览器,然后刷新页面?如果
lvl2
是动态的,您可能需要使用live
或liveQuery
而不是单击
,我又玩了几次,并设法使它以一种似乎一致的方式工作。基本上,我将所有lvl2锚定标记中的href属性更改为rel属性,然后在jQuery函数中使用该属性来处理到新URL的导航。然后我将超时时间从500毫秒增加到1000毫秒。在页面有机会转到新的URL之前,任何更少的内容似乎都会很快刷新页面
$('.lvl2 a').click(function() {
location.href=$(this).attr('rel');
setTimeout(function() {
location.reload();
},1000);
});
提供一个示例页面,以便调试和复制。。检查事件是否正确绑定可能是因为您需要使用
live
,因为我知道它们即将动态发布。我在上展示了一个示例页面,但它没有重现问题。类“lvl2”不是指手风琴,它指的是主菜单中的第二级导航,它是作为无序列表构建的,就像这样:- <
$('.lvl2 a').click(function() { location.href=$(this).attr('rel'); setTimeout(function() { location.reload(); },1000); });
- <