thinkphp3.2.3的ajax加载更多

效果:点击加载更多,根据设定的加载条数显示加载内容,全部加载完毕后加载更多按钮消失。话不多说,直接上代码。

html代码:(这个样式可以根据需求自定义)



js代码:

var page = 0;
$('.more').click(function() {
    var n = $("#news .item").length;//当前item个数
    // alert(n);
    page += 3;//点击一次追加3条
    $.ajax({
        url:'{:U("News/more")}',
        cache: false,
        async: false,
        data:{p:page,n:n},
        dataType: "json",
        type:"post",
        success:function(datas){
            var more_show = datas[0];
            var data = datas[1];
            var html='';
            if (more_show == 1) {
                $(".more").show();
            }else{
                $(".more").hide();
            } 
            for (var i in data) { //循环遍历
                html +='
'; html +=''; html +='
'; html +=' '; html +='

'+data[i].title+'

'; html +='
'; html +='

'+data[i].fabu_time+' 作者:miss涂麦

'; html +='

'; html +=data[i].content; html +='

'; html +='
'; html +='
'; } $('#list').append(html);//追加 } }); });

PHP代码:

public function more(){
    $news = M('news');
    $count =$news->count();
    if(!empty($_POST['p'])){  //点击加载更多 
        $p = $_POST['p'];//3 6 9
        $n = $_POST['n'];
        if (($p+$n)>=$count) {
            $flag =0;
        }else{
            $flag =1;
        }
        $b= 3; //显示条数
        $list  = $news->order('create_time desc')->limit($p,$b)->select();
        $arr[0] = $flag; 
        $arr[1] = $list;
        $arr.join();
        $this->ajaxReturn($arr,'JSON');
    }
}

你可能感兴趣的:(thinkphp3.2.3的ajax加载更多)