1

ここで構築している Web サイトで無限スクロールを設定しました: http://richardgordoncook.com/fg/

画像ギャラリーにWordpressプラグインを使用しています。これは、ファイル名などにホバーオーバーするように少し操作しました。無限スクロールが開始され、最初のページの後の投稿が使用を停止するまで、これはすべて正常に機能しますギャラリー機能と、実際にはすべての JavaScript です。

何か案は?上記のサイトリンクでテストすると、アイデアが得られます。

4

1 に答える 1

1

無限スクロールによって追加された要素は、作成後にJavaScriptイベントをそれらに接続する必要があります。これを簡単に行う方法の詳細については、 jQueryの関数を参照してください。.live()

基本的に、あなたは置き換えます

$('.myclass').mouseover(function(){})

$('.myclass').live('mouseover', function(){});

また、新しいdom要素がページに追加された後、jQueryはすべての追加イベントを自動的に接続します。

アップデート

.live()わかりました、アプローチを忘れてください。プラグインには、ページに新しい新しい要素を追加するたびに発生するコールバック関数があるようです。

$(elem).infinitescroll(options,[callback]);

コールバック関数は次のように文書化されています

function(arrayOfNewElems){
 
     // optional callback when new content is successfully loaded in.
 
     // keyword `this` will refer to the new DOM content that was just added.
     // as of 1.5, `this` matches the element you called the plugin on (e.g. #content)
     //                   all the new elements that were found are passed in as an array
 
}

このコールバックを使用して、イベントハンドラーをページ上の新しい要素に接続する必要があります。こんな感じになります

function(elements)
{
    $(elements).mouseover(function(){});
    $(elements).mouseout(function(){});
}

何をする必要があるかによっては、forループを使用して、1つのバッチとして機能するのではなく、各アイテムを個別に反復する必要がある場合があります。

于 2011-12-28T17:05:21.350 に答える