滚动时新的ajax请求

时间:2013-09-24 13:24:59

标签: javascript php jquery ajax

这是javascript

 $(window).scroll(function() {
         $.ajax({
            type: "GET",
            url: "not_data.php",
            data: dataString,
            success: function my_func () {
               //show new name
            }
        });
      });

这是not_data.php

<?php

$name_query=mysql_query("SELECT name FROM  names");
        while($run_query = mysql_fetch_assoc($name_query)) {
            $name = $run_query['name'];

            echo $name;
}
?>

我想调用一个新的ajax请求,并在每次用户向下滚动时从表名中获取一个新名称

4 个答案:

答案 0 :(得分:1)

看看这个优秀的jquery插件!

http://jscroll.com/

  

jScroll是一个用于无限滚动的jQuery插件,由Philip编写   Klauzinski。无限滚动;又称懒加载,无穷无尽   滚动,自动切换,无尽页面等;是加载的能力   滚动时,通过当前页面或内容区域内的AJAX进行内容   下。每次滚动时都可以自动加载新内容   到现有内容的末尾,或者可以触发加载   单击现有内容末尾的导航链接。

答案 1 :(得分:0)

创建检查加载状态的参数; 绑定到滚动事件 得到两个参数

var top = $(this).scrollTop();
var height = $(this).height();

检查滚动高度

if (elHeight - top - height <= 50) 

其中elHeight - 所有元素的高度

当你的查询成立时

答案 2 :(得分:0)

检查您是否已达到最低点并加载更多(发送ajax呼叫)

var win = $(window),
    doc = $(document);

win.scroll(function(){
    if( win.scrollTop() > doc.height() - win.height() ) {
        $.ajax({
            type: "GET",
            url: "not_data.php",
            data: dataString,
            success: function my_func (name) {
                $('<span>').html(name).appendTo('body')
            }
        });
    }
});

答案 3 :(得分:0)

试试这样。

$(window).scroll(function() {
    if( $(window).scrollTop() == $(document).height() - $(window).height()) {
        $.ajax({
        type: "GET",
        url: "not_data.php",
        data: dataString,
        success: function (res) {
           // new name will be available in 'res' you can display in what way you like.
        }
        });
    }
});