基于AJAX的无限卷轴与jQuery,PHP& MySQL的

时间:2013-01-18 18:40:43

标签: php jquery mysql ajax scroller

我正在尝试用jQuery,PHP和&amp ;;构建一个基于AJAX的无限卷轴。 MySQL的。

非常简单,主页中有一个包含常规内容的div(#theContent)。当窗口滚动到底部时,会自动调用查询mySQL数据库的外部PHP页面(articles.php),然后将新的PHP内容附加到主页面中div#theContent的末尾。只要记录集中有新内容,使用从主页面到外部页面的传递偏移量变量,这将持续。

我有部分工作,但可以使用偏移量的一些建议。在下面的代码片段中(从主页面)你会看到“articles.php?offset = 10” - 我想在每次附加页面时(当它滚动到底部时)增加“偏移”值,所以每次调用.append(数据)时都会更新偏移值。这就是我被困住的地方。

在主页面的头部(此滚动工作,并执行对数据库的初始调用):

<script>
$(window).scroll(function () {
   if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {

    $.get('articles.php?offset=10', function(data) {
        $('#theContent').append(data);
    });


       }
});
</script>
article.php中的

(单独工作)

$offset = $_GET["offset"]; // gets from primary page  

the SQL call:
    "Select blah from blah order by blah limit 50,$offset";

总而言之:每次调用.append时,如何在主页面中增加偏移量变量?

感谢阅读。


编辑:我编辑了片段fr Ohgodwhy,将偏移量增量器移到$ .get之外。太棒了 - 现在循环相同的记录问题已经消失。编辑:

 var offset = 10;
$(window).scroll(function () {

    if ($(window).scrollTop() >= $(document).height() - $(window).height() - 200) {

        $.get('articles.php?offset='+offset, function(data) {
            $('#theContent').append(data);

        });

  offset += 10;
        }
});

1 个答案:

答案 0 :(得分:0)

var offset = 10;
$(window).scroll(function () {
    if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {

        $.get('articles.php?offset='+offset, function(data) {
            $('#theContent').append(data);
            offset += 10;
        });


        }
});