0

Google リーダーに似たプロジェクトを行っています。

私は Infinite Scroll jQuery Plugin を使用しています。これは、デフォルトで選択されたカテゴリ (スクロール可能な div) のコンテンツを表示するときに宣伝されているとおりに機能します。

ただし、別のカテゴリ (または Google リーダーの場合はフォルダー) を選択し、そのカテゴリのコンテンツが上記と同じ div コンテナー (基本的には Google リーダーとまったく同じ) に ajax で読み込まれ、ページ 2 までスクロールすると、問題が発生します。新しいカテゴリが選択されたときに最初から開始するのではなく、以前に選択されていたページに +1 移動します。

基本的に、新しいカテゴリが選択されたときにプラグインをリセットする方法が必要だと思います。どんな助けでも大歓迎です。

4

4 に答える 4

1

あなたの答えは私にはうまくいきませんでした。これが私がしたことです:

InfiniteScroll の再インスタンス化を機能させるには、2 つの変数を設定する必要があります。また、再バインドする必要があります。コードは次のとおりです。

$('#myContainer').infinitescroll('destroy'); // Destroy

// Undestroy
$('#myContainer').infinitescroll({                      
    state: {                                              
        isDestroyed: false,
        isDone: false                           
}
});

InitInfiniteScroll(); // This is a wrapper for the standard initialization you need

// Re-initialize
$('#myContainer').infinitescroll('bind');
于 2012-03-21T16:50:48.033 に答える
1

非常に一般的な質問だったと思います。私は似たようなことをした人を見つけたいと思っていました。

とにかく、これはおそらく最適ではありませんが、私はこのように解決しました。

プラグインの外側から呼び出すことができるこの関数をプラグインに追加しました。

this.resetPlugin = function() {
  $(document).unbind('retrieve.infscr',kickOffAjax);
  props.currPage = 1;
};

このようにプラグインをロードします

window.infinitescroll = $('#content').infinitescroll({usual settings});

別のカテゴリが選択されているときにリセットできるよりも:

window.infinitescroll.resetPlugin();
于 2010-06-14T14:44:16.340 に答える
0

これだけが私にとってはうまくいきます。このソリューションは時代遅れかもしれません:

jquery無限スクロール「リセット」

于 2013-08-21T15:58:29.257 に答える