6

全部,

如何在第一个选项卡仍在加载时预加载所有 JQuery UI 选项卡?我尝试了 remote:true 选项,但它不起作用?加载选项卡时,每个选项卡名称旁边应该有 ajax 微调器。

谢谢

4

2 回答 2

10

尝试这样的事情:

$tabs = $('#tabs').tabs({
    cache: true
});
var total = $tabs.find('.ui-tabs-nav li').length;
var currentLoadingTab = 1;
$tabs.bind('tabsload',function(){
    currentLoadingTab++;
    if (currentLoadingTab < total)
        $tabs.tabs('load',currentLoadingTab);
    else
        $tabs.unbind('tabsload');
}).tabs('load',currentLoadingTab);

它使用缓存选项初始化选项卡,以便选项卡在加载一次后不会重新加载。然后它找出选项卡的总数并将下一个选项卡设置为加载 1 (选项卡从 0 开始索引)然后它在加载事件上绑定一个事件以开始加载下一个选项卡,直到它击中所有选项卡。要启动它,然后加载第二个选项卡。

于 2009-11-12T21:11:02.453 回答
0

比上面更优雅的解决方案:

$tabs = $('#tabs').tabs({
    cache : true,
    load : function(event,ui) {
        try {
            $tabs.tabs('load',ui.index+1);
        } catch (e) {
        }
    }
});
于 2012-03-01T14:12:41.877 回答