全て、
最初のタブがまだロードされている間にすべての JQuery UI タブをプリロードするにはどうすればよいですか? remote:true オプションを試しましたが、うまくいきませんでしたか? タブの読み込み中は、各タブ名の横に ajax スピナーが表示されます。
ありがとう
全て、
最初のタブがまだロードされている間にすべての JQuery UI タブをプリロードするにはどうすればよいですか? remote:true オプションを試しましたが、うまくいきませんでしたか? タブの読み込み中は、各タブ名の横に ajax スピナーが表示されます。
ありがとう
次のようなことを試してください:
$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 から始まるインデックスが付けられます)。次に、load イベントにイベントをバインドして、すべてのタブにヒットするまで次のタブのロードを開始します。それを開始するには、2番目のタブをロードします。
上記よりもエレガントなソリューション:
$tabs = $('#tabs').tabs({
cache : true,
load : function(event,ui) {
try {
$tabs.tabs('load',ui.index+1);
} catch (e) {
}
}
});