美文网首页
Ajax无刷新分页

Ajax无刷新分页

作者: 寄去远方的盛夏 | 来源:发表于2017-12-30 16:18 被阅读27次

原理

因为分页需要显示页数,限制循环。所以需要先获取最大页数。当进入页面时就将查询到的页数和第一页默认显示的数据发送到前台。

然后当页数被点击的时候,再ajax发送到后台去查询,成功后则修改div内的内容。
1、后台初始页面

        //查询默认情况下的所有数据
        $count = getRecordNum('web_news',array());
        //每页显示的条数
        $num = 3;
        //获取到的条数除显示条数,得到页数,向上取整
        $pageNum = ceil($count/$num);
        return view('',array('pageNum'=>$pageNum,'banner'=>$banner));

2、前台显示页面

    var page = 1;
    $(document).ready(function(){
        //当加载完成后调用分页信息
        pageFun(page);
    });
    //分页函数
    function pageFun(page){
        var str = '';
        var html = '';
        //发送页数信息到后台
        $.post("{:url('/web/index/pageFun')}",{
            'page':page
        },function(data){
            for(var i=0;i<data['data'].length;i++){
                html += '<div class="col-md-12 col-sm-12"><a href=""> ' +
                        '<div class="informationlist1"><div class="col-lg-4 col-md-4 col-sm-12 col-xs-12 zxpic">' +
                        '<img src="/Public/'+data['data'][i]['savePath']+'" class="img-responsive"></div>' +
                        '<div class="col-lg-8 col-md-8 col-sm-12 col-xs-12 zxword">' +
                        '<div class="featured-box"><div class="text"><h3>'+data['data'][i]['title']+'</h3>' +
                        '<p class="time">'+data['data'][i]['newstime']+'</p><p class="nr">'+data['data'][i]['desc']+'</p> </div></div></div></div></a></div>';
            }
            //插入到html代码中
            $('#info').html(html);
            //将分页数据循环定义到一个变量中
            str += '<a href="javascript:void(0)" id="prev" class="more"><<上一页 </a>';
            for(var i=1;i<=data['pageNum'];i++){
                str += '<a href="javascript:void(0)" id="pagelist" style="border:1px solid red;padding:5px;" value="'+i+'" class="num">'+i+'</a>';
            }
            str += '<a href="javascript:void(0)" id="next" class="more">下一页>></a>';
            $('#pagenum').html(str);
        });
    }
    //上一页
    $('#pagenum').on('click','#prev',function(){
        //当点击上一页时则减1传入函数中
        page -= 1;
        if(page<1){
            page = 1;
        }
        pageFun(page);
    });
    //下一页
    $("#pagenum").on("click","#next",function(){
        //点击下一页时则加1传入函数中
        page += 1;
        var zys = $('#zys').val();
        if(page>=zys){
            page = zys;
        }
        pageFun(page);
    });
    $("#pagenum").on("click","#pagelist",function(){
        //点击任意一页则获取他的页数传入函数中
        page = parseInt($(this).attr("value"));
        pageFun(page);

    })

3、分页的方法体

        $param = input('request.');
        //每页显示条数
        $num = 3;
        //计算从第多少条开始
        $tiao = ($param['page']-1)*$num;
        //关联查询图片和文章
        $join = [['sys_file b','a.poster=b.id','left']];
        $msg = getDataList('web_news',array(),'a.id,a.type,a.title,a.`desc`,a.detail,a.poster,
        a.sort,a.top,a.newstime,b.savePath,b.saveName','',$join,'',$num,$tiao);
        //未查到时
        if($msg['code']!=='1'){
            return array('code'=>'0','msg'=>'未查到数据');
        }
        //下面是计算分页页数
        //查询出的总数
        $count = getRecordNum('web_news',array());

        //用查出的条数除显示的条数向上取整得出页数
        $pageNum = ceil($count/$num);

        $msg['pageNum'] = $pageNum;
        return $msg;

相关文章

  • Ajax无刷新分页

    原理 因为分页需要显示页数,限制循环。所以需要先获取最大页数。当进入页面时就将查询到的页数和第一页默认显示的数据发...

  • ThinkPHP5.1+Ajax无刷新分页

    无刷新分页可以减轻服务器负担,利用Ajax技术,请求部分信息,提高网站访问速度,是网站建设的必备技术。 以二手车项...

  • Android简单实现 万能适配器 + 下拉刷新 + 无感分页加

    万能适配器 + 下拉刷新 + 无感分页 v3.1更新 完善更多下拉刷新场景 增加【上拉分页加载】和【无感分页加载】...

  • SpringMVC-Ajax

    ajax:异步刷新技术,可以在步刷新整个页面的前提下,刷新部分页面,节省资源 环境搭建:1、搭建好SpringMV...

  • Ajax无动态刷新搜索功能

    一,首先先讲前台的传值,因为要用到无动态刷新页面,所以不得不说一说ajax。ajax的无动态刷新真的好用 1,首先...

  • ajax异步无刷新

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),...

  • 2018-03-19

    php 和 ajax 实现无刷新添加购物车kkpl

  • 解决ThinkPHP 5.1表单令牌Token失效问题

    ThinkPHP出于安全的考虑增加了表单令牌Token,由于通过Ajax异步更新数据仅仅部分页面刷新数据,就导致了...

  • Ajax url中文参数问题

    今天学习了Ajax,利用Ajax无刷新检查用户名是否存在,代码如下: 利用XMLHttpRequest对象向后台传...

  • xhr

    XMLHttpRequest对象(简称XHR)是ajax技术的核心,ajax可以无刷新更新页面得益于xhr。一、创...

网友评论

      本文标题:Ajax无刷新分页

      本文链接:https://www.haomeiwen.com/subject/uetngxtx.html