Jquery选项卡:打破创建-选择-重新加载循环
Jquery tabs: breaking create-select-reload cycle
我有一个使用Jquery选项卡的页面。选项卡不仅决定了我想在选项卡内容区域中显示的内容,还决定了选项卡div之外的内容。
我想要的行为是,当用户选择一个选项卡时,用url中的新参数重新加载整个页面。(我目前通过将字符串附加到location.href来实现这一点,从而迫使页面重新加载。
select: function(event, ui) {
// ... determine new_url
location.href = new_url;
}
当页面被重新加载时,我希望右侧的选项卡处于活动/选中状态,我试图通过检测选项卡的参数来做到这一点。
create: function(event, ui) {
// ... figure out which tab should be selected
$('.tabs').tabs('select', tab_index);
}
我注意到,这会迫使浏览器进入创建选项卡、选择选项卡、重新加载、创建选项卡和选择选项卡的无休止循环。。。等等。有办法摆脱这种局面吗?
我意识到JQuery选项卡不适合这类工作,但将非常感谢您的帮助!!这是我第一次尝试JQuery选项卡。
一些额外的注意事项:-我使用Rails进行一些逻辑-我试图将类"ui state active"设置为应该选择的选项卡,该选项卡似乎已被覆盖。首先,第一个选项卡(索引0)设置为活动,然后在选项卡创建功能中,选择我要选择的选项卡。
<li class="tab<%= " ui-state-active" if THIS_TAB_SHOULD_BE_SELECTED %>">
<a href="#tab-<%= type.downcase %>">tab 1</a>
</li>
您不能(或不应该)将每次用户更改选项卡时重新加载页面的选项卡与只显示/隐藏某些内容的选项卡混合使用。我建议坚持这两种方法中的一种。如果您想更改whle页面,可以显示/隐藏两个选项卡和其他内容,或者ajax显示新内容并用新内容替换旧内容。或者,您可以执行以下操作:
HTML:
<div class="tabs">
<span class="tab-head active">Tab 1</span>
<div class="tab-content active">Lorem ipsum...</div>
<span class="tab-head">Tab 2</span>
<div class="tab-content">Lorem ipsum...</div>
<span class="tab-head">Tab 2</span>
<div class="tab-content">Lorem ipsum...</div>
</div>
CSS:
.tabs {overflow: auto;}
.tab-head {display: inline-block; float:left;}
.tab-content {display:none;}
.tab-content-active {display:block;}
JS:
$(".tabs .tab-head").click(function(){
$(".tab-content,.tab-head",$(this).parent()).removeClass("active");
$(this).addClass("active");
$(this).next(".tab-content").addClass("active");
});
这大概是我几个月前为另一个网站做的。
编辑:我目前正在研究一种方法,通过在URL的fragment_id部分传递数据,将初始选项卡位置分配给每个选项卡,如下所示:page.com/path/page.php?foo=bar&baz=quux#tabs=0:1,2:6;
,其中#tabs=0:1,2:6;
是重要部分。我会有一个onload处理程序解析,它显示起始处的正确选项卡,以及一些JS,它查找指向具有不同选项卡信息的同一页面的链接。
- 数据表 AJAX 筛选器重新加载数据
- 通过引导程序加载/重置后更改按钮文本
- 如何在新加载的页面上执行(下拉)操作
- 根据上一个选项卡的选择器重新加载选项卡
- 获得“中止,因为不接受 0”并使用反应热加载器重新加载整页
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- 如何为新加载的元素提供JQuery UI工具提示
- 从包含的php文件重新加载/重定向页面
- 如何在新加载的页面上使用相同的JavaScript代码(通过重定向)
- 使用PHP或Javascript检测页面刷新或新加载
- 如何在成功登录后重新加载/重定向页面
- 砌体重新加载&reloadItems不起作用
- 如何使javascript计时器重新加载
- 如何获取新加载的图像's width / naturalWidth
- 列出并调用firefox扩展中新加载的选项卡中的js函数
- 旋转器重新加载图像似乎在覆盖层后面
- AJAX调用后,新加载的CSS选择器对jQuery.ech()不可用
- jQuery砌体-砌体重新加载后调用方法
- 如何向所有查看器重新加载页面
- 如何打开子浏览器窗口,然后在新加载的子浏览器页面上执行脚本以单击其中的链接