0

https://github.com/fredwu/jquery-endless-scrollの EndlessScroll 関数を使用しています。

スクロールが上がったときにエンドレススクロールを無効にしたいのですが、方法がわかりません。配列がポインターでトラバースされた場合にのみ発射を停止したい (プリロードされた配列がある)。

注: - i はカウンターです - times はロードされたアイテムの数です - tam は配列の長さです

data = [. . . . . . . . ]
tam = data.lenght();
i = 0;
items = 10;
$('#ul-container').endlessScroll({
fireDelay: 1,
loader: '',
insertAfter: '#ul-container li:last',
insertBefore: '#ul-container li:last',
ceaseFireOnEmpty: false,
ceaseFire: function(j, p) {
    if (i >= tam) {
        return true;
    }
},
content: function(j, p) {
    var times = 0;
    if (p>0) {
        if (i < tam) {
            to_return = "";
            while (i + times < tam && times < 10) {
                to_return += "<p>" + (i + times).toString() + " " + data[i + times]["id"]
                    + ": " + data[i + times]["text"] + "</p>";
                times++;
            }

            i = i + times;
            console.log(i);
            //$('#ul-container').append(to_return);
            return to_return
        }


    }
}

上にスクロールするたびに、「未定義」になります。下にスクロールすると、配列から 10 個のアイテム (または残っているアイテム) が取得されます。そして、配列がすでに表示されている場合は、スクロールを停止します。

説明のために、この endlessScroll は Ajax 呼び出し内にあります。私は Django を使用してデータベースからデータを取得し、それらを a にロードして表示しています。

4

0 に答える 0