我有两组标签,一组嵌套在另一组内。嵌套选项卡由setInterval重新加载,刷新所有内容。在页面加载时,这些嵌套选项卡的cookie设置正常,但一旦刷新发生,它就会消失,选定的选项卡会跳回到第一个。以下是它的外观图像:http://screencast.com/t/nAZlNXIBe 因此,当我在Assigned选项卡下,并单击Normal选项卡时,我希望当setInterval启动并刷新这些选项卡时,它将保留在Normal选项卡上。这是我正在使用的代码:
var $tabs2 = $('#nested').tabs({ cookie: { expires: 1, name: "nested_tabs" } });
setInterval(function() {
$('#tabs-1 .content').load('/dashboard/mine');
}, 30000);
此代码基本上只设置选项卡和cookie,然后刷新恰好填充整个区域,包括选项卡。是否会因为ajax重新加载标签而破坏?
答案 0 :(得分:1)
您的Cookie将在1毫秒后到期,然后更改。
如果你还没有这样做,你可能需要加载cookie plugin,它就在你的jquery-ui文件之前。
你可以尝试:
var $tabs2 = $('#nested').tabs({ cookie: { expires: 30000, name: "nested_tabs" } });
setInterval(function() {
$.ajax({ url: '/dashboard/mine', success: function(html){
$tabs2.tabs("destroy");
$('#tabs-1 .content').html(html);
$tabs2 = $('#nested').tabs({ cookie: { expires: 30000, name: "nested_tabs" } }); }
});
}, 30000);
但我怀疑破坏重新加载并每30秒重建一次标签对cpu / bandwidth / ux有好处...
答案 1 :(得分:0)
好的我明白了,这是代码:
var $tabs2 = $('#nested').tabs();
$tabs2.bind('tabsselect', function(event, ui) {
$.cookie('nested_tabs', ui.index);
});
setInterval(function(){
$.ajax({ url: '/dashboard/mine', success: function(html){
$tabs2.tabs("destroy");
$('#tabs-1 .content').html(html);
$tabs2 = $('#nested').tabs({ selected: $.cookie('nested_tabs') });
$tabs2.bind('tabsselect', function(event, ui) {
$.cookie('nested_tabs', ui.index);
});
}
});