0

ユーザーがページの一番下に到達したときに、追加の記事を読み込もうとしています。すべてを実装しましたが、複数回使用する JavaScript でグローバル変数をインクリメントできません。まったく機能しなかったとしてもそれほど驚くことではありませんが、この方法で...
とにかく、私はすでに強制async:falseしていますが、それでも期待どおりに機能しません.start変数は最初の呼び出しで1にインクリメントされ、その後は常に次の呼び出しごとに 1。

私は何を間違っていますか?どうすれば修正できますか?

start = 0;

function LoadNextArticles()
{
    $.ajax({
        type: "post",
        url: "ajax/articles_load.php",
        data: "start=" + start,
        async: false,
        success: function(msg) {
            c = $("#content").html();
            $("#content").html(c + msg);

            start += 1;             
        }
    });
}

setInterval(function() {    
    if  ( ($(document).height() - $(window).height()) - $(window).scrollTop() < 10 )
    {
        LoadNextArticles();
    }
}, 1000);
4

2 に答える 2

0

あなたのコードに問題はありませんが、window.start代わりに試してみてください。start また、async:false悪い考えです。リクエストが完了するまでJavaScriptの実行を一時停止します。

グローバル変数の詳細: http://snook.ca/archives/javascript/global_variable

于 2013-10-29T11:53:50.070 に答える
0
  1. ドキュメント.開始 += 1

  2. ajax呼び出しに「コンテキスト」変数を追加してみてください

    $.ajax({ type: "POST", context: this, ...

またはおそらくコンテキスト:ドキュメント

于 2013-10-29T11:51:04.397 に答える