1

そこで、人気のある inifnite スクロール プラグインを実装して、現在の自作の無限スクロール スクリプトを置き換えようとしています。

http://www.infinite-scroll.com/ & https://github.com/paulirish/infinite-scroll

とにかく、このプラグインでは、ページに HTML ページネーションが必要なようです。つまり、これらのオプションによるものです:

nextSelector: "div.navigation a:first",
navSelector: "div.navigation",

ページにページネーション マークアップがありません。私のサイトがクローラー/js を無効にしたユーザーに対応していなくてもかまいません。

では、物理的な HTML ページネーションなしでこのプラグインを実装する方法はありますか?

私のカスタムスクリプトでは、次のようなことをしていました:

var $page = 1;

// Load content for $page

$page++;

このようなもの、つまり、開始ページを整数として渡すことができますか?

4

2 に答える 2

1

jQuery/javascriptで簡単に作成できます。

現在、ユニバーサルを書くのは少し難しいですが、主な原則は次のとおりです。

最新のコンテンツを読み込んでいる場合 (新しいものが最初、古いものがスクロールされます):

  1. 画面の高さよりも少し大きい要素の最初のセット (ブログの投稿、画像、引用など) を読み込みます。最後のアイテムの ID を変数に保持します。

  2. setInterval を使用してユーザーがページをスクロールしたかどうかを検出し、最後に保存した ID よりも低い ID を持つデータをロードします。次に、最後の ID を保存し続け、新しいコンテンツをロードします。

幸運を!

このようなもの:

function loadnewdata()
{
    // do ajax stuff, update data.
}
setInterval(
  function (){
    if(($(document).height() - $(window).height() - $(document).scrollTop()) < 500){
    loadnewdata();
    }
  }, 
  500
);

もちろん、loadNewData() 関数は自分で作成します。あなたのデータに依存します。ユーザーがページをスクロールした場合、これは 500 ごとに新しいデータをロードします。

于 2013-02-21T14:13:13.360 に答える
1

ページネーション要素を必要としない、無限スクロールの非常に単純化されたバージョンを見てください。

http://www.innovativephp.com/demo/infinitescroll/

于 2013-02-21T03:01:20.293 に答える