jQuery+Ajax+PHP滚动加载

Posted 叶少翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery+Ajax+PHP滚动加载相关的知识,希望对你有一定的参考价值。

function ajax_more(){  
    $type = isset($_POST[‘type‘]) ? (int)Yin::_input(‘post.type‘) : 0;  
    //传递的参数  
    $page = isset($_POST[‘page‘]) ? (int)Yin::_input(‘post.page‘) : 2;  
    //每页显示的条数  
    $pagesize = 10;  
    //查询出来的列表数据  
    $list = $this->product->get_page_list($type, ‘‘, $page, $pagesize);  
    echo json_encode($list);  
    exit;  
}  
//下拉加载js代码  
var page = 2,//记录页数  
//布尔参数,判断是否允许加载  
bool = true,  
//页面的总高度、、//记录划过的高度  
st = $(document).innerHeight();  
//$(‘.loading‘).offset().top;  
//列表内容少的时候做兼容处理  
if(!bool){  
    $(‘.loading‘).hide();  
    $(‘.nothing_all‘).show();  
}  
function refresh(){  
    if(!bool){return;}  
    bool = false;  
    //console.log(page);  
    var data = {  
        ‘page‘ : page,  
        ‘pagesize‘ : {:$pagesize:},  
        ‘type‘ : {:$type:}  
    }  
    $.post(  
        ‘/index.php?m=shop&c=list&a=ajax_more‘,  
        data,  
        function(d){  
            if (d.length>0) {  
                var html = ‘‘;  
                for (var i = 0; i < d.length; i++) {  
                    var v = d[i];  
                    //具体的代码  
                };  
                $(‘#append‘).append(html);  
                if (d.length==data.pagesize) {    
                    page++;  
                    st = $(document).innerHeight();  
                    bool = true;  
                }  
            }else{  
                bool = false;  
            }  
    },‘json‘);  
}  
$(window).scroll(function(event) {  
      var s = $(document).scrollTop()+$(window).height();  
      if(s > (st-100)){//底部预留100px空间  
          if(!bool){  
              $(‘.loading‘).hide();  
              $(‘.nothing_all‘).show();  
              return false;  
          }else{  
              refresh();  
          }  
      }  
});  

以上是关于jQuery+Ajax+PHP滚动加载的主要内容,如果未能解决你的问题,请参考以下文章

AJAX 功能不能通过滚动工作

JQuery ajax 滚动底部加载更多

jQuery高级Ajax

使用 PHP 和 jQuery 的无限滚动分页只返回很少的帖子并使用加载器 gif 停止

Javascript代码片段在drupal中不起作用

使用 PHP 在页面向下滚动时加载 Ajax 数据