0

したがって、この質問は必ずしもそれを機能させる方法ではありません。しかし、それは非常にバグです。私が抱えている問題は、下にスクロールすると、ロードに時間がかかることがあるため、機能が再アクティブ化されるか何かであるということです。どちらの方法でも、変数はリセットされ、5 ページが連続して読み込まれます。だからバギーです。ここにコードがあります:

var ldid = 10;
jQuery(
    function ($) {
        $('#allpostcontainer').bind('scroll', function () {
            if ($(this).scrollTop() +
                $(this).innerHeight() >= $(this)[0].scrollHeight) {

                $("#allpostcontainer").append($("<div>").load("/streampage.php?id=" + ldid, function () {
                    ldid = ldid + 10;
                }));

            }
        })
    }
);
4

2 に答える 2

1

フラグを使用できます。

ロード中の場合は、true に設定できます。

ロードが終了したら、それを false に戻し、false の場合にのみ ajax リクエストを行います。

var ldid = 10,
    isPageLoading = false;

jQuery(
    function ($) {
        $('#allpostcontainer').bind('scroll', function () {
            if ($(this).scrollTop() +
                $(this).innerHeight() >= $(this)[0].scrollHeight && !isPageLoading) {

                isPageLoading = true;

                $("#allpostcontainer").append($("<div>").load("/streampage.php?id=" + ldid, function () {
                ldid = ldid + 10;

                isPageLoading = false;

            }));

        }
    })
}
);
于 2013-10-24T15:24:46.640 に答える
0

「allpostcontainer」div の最後に Div タグを設定する場合は、以下のスクリプトをページに配置します。

(#bottom は一番下に表示する必要がある Div タグ ID です。#allpostcontainer はスクロール付きのメイン Div である div タグ ID です)

<script>
    $(document).ready(function () {
        $('#bottom').css('position', 'absolute');
        $('#bottom').css('top', $('#allpostcontainer').height() - $('#bottom').height());
    });
</script>

ご不明な点がございましたらお知らせください。

ありがとうございました...

于 2013-10-24T15:55:36.480 に答える