0

当用户到达页面底部时,我正在尝试加载其他文章。我已经实现了所有东西,但不能在 JavaScript 中增加我多次使用的全局变量。如果它根本不起作用,我不会那么惊讶,但是这样......
无论如何,我已经强制async:false并且它仍然无法按预期工作 -开始变量在第一次调用时增加到 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. 文档.start += 1

  2. 尝试将“上下文”变量添加到您的 ajax 调用中

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

或者可能是上下文:文档

于 2013-10-29T11:51:04.397 回答