3

jQuery タブ ライブラリを使用して、一連のリモート (つまり、ajax が読み込まれた) タブを作成しています。

ただし、ajax リクエストが完了するまで最初のページの読み込みが空になるのを避けるために、最初のページのダウンロードに最初のタブのコンテンツを含めたいと思います。

タブのタイトルと一致する最初のページ読み込みで div を提供することで、これは一般的に機能しますが、このコンテンツがすぐに表示されても、タブを初期化するとすぐに ajax リクエストが追加で行われ、どちらも無駄ですちらつきの原因となります。私の基本的な質問は、最初に選択されたタブに対して ajax リクエストを実行せずに jQuery タブを取得し、最初のページ読み込みの一部としてこのコンテンツを取得しながら、他のタブを動的に読み込むにはどうすればよいかということです。

複雑なのは、使用可能なコンテンツに基づいて最初のタブが変更されるため、タブが「最初の」タブである id/href をハードコーディングできないことです。

タブを初期化する前に、タブのURLを動的に書き換えるjavascriptでこれを行うハックな方法があると確信していますが、よりクリーンなソリューションを探しています。

何か案は?

4

3 に答える 3

0

これを行う最良の方法は、サーバー側の実装を使用して開始テキストを追加することです。JQueryのドキュメントでは、デフォルトのテキストはAJAXを介してロードされません。

あなたが何をしているのか正確にはわかりませんが、そうでない場合は、次のような単純なブール「ハック」を使用できます。

var initial=true;

次に、タブコードで次のようにします。

$('.selector').tabs({
   select: function(event, ui) { if(initial) { initial=false; return false; }
});

これにより、ajax呼び出しを初めて実行できなくなります。

于 2009-11-25T01:45:00.870 に答える
0

これを行うために特定のタブ コントロールを使用していますか? タブの実装方法にかなり依存しています...

読み込みを遅らせずにデータを含めたい場合は、サーバー側に含める必要があります。

詳細を教えてください。何がで​​きるか見てみましょう。

于 2009-09-25T00:32:48.447 に答える
0

テキスト、GIFアニメーション、または表示するものを保持する「スピナー」と呼ばれるオプションがあります。

$( ".selector" ).tabs( { spinner: 'Retrieving data...' } );
于 2010-03-29T09:29:00.997 に答える