jquery load 関数を使用して div の内容を更新しています。
divを非表示にすることから始めます
$('.dashboard-body').fadeOut(50);
次に ajax load - コンテンツを更新します
load イベントの後、更新された div がまだ非表示になっている間に、コンテンツのページネーション リンクの 1 つをクリックしたいと思います。次に、div が再び表示されると、正しいコンテンツが表示されます。
動作しないコードを次に示します。Livequery プラグインを DOM の新しい要素のリスナーとして使用しています。
$('.dashboard-body').load(target, function(){
$('.pagination ul li a').livequery(function(){
$(this).each(function(){
var target_page = $(this).html();
if(target_page == return_page){
$(this).click();
}
});
});
$('.dashboard-body').fadeIn('slow',function(){
//success
});
});
私の頭の中の上記のコードは、次のことを行います。
クラス dashboard-body を使用して、ターゲット ページを div に読み込みます。
livequery を使用して dom にロードされた新しいページネーション リンクをリッスンします。
次に、見つかった各リンクを反復処理します
リンクの数値を見つけます。1、2、3.... を潜在的なターゲット ページ番号として定義します。
次に、ターゲット ページと戻りページ番号 (定義済みの変数) が等しい場合。このリンクをクリックしてください。
すべてが機能しているようで、コンソールを使用すると、このステートメントが表示されます...
if(target_page == return_page){
期待どおりに1回trueですが、要素が存在しないかのようにクリックイベントは発生しませんが、それらを反復するだけで実行する必要があります。
何が間違っているのかわかりませんか?またはより良い方法はありますか?