首 页
关于方维
网站案例
网站建设
小程序开发
解决方案
建站资讯
联系方维
400-800-9385
网站建设之php+jquery无刷新数据分页
发表日期:2019-07-15 09:23:19 作者来源:方维网络 浏览:3611 标签:
php网站建设
当前位置:
首页
-
建站资讯
-
网站建设
当我们展现大量数据的时候,一般用会刷新页面传入不同参数方式 进行数据分页,但是每次刷页面定位就会在头部,如果用瞄点或者更好的js动画进行重新定位,也会有页面刷新时闪屏的现象,为了追求更好的用户体验,我们结合ajax的局部刷新做一个不刷新页面的的分页
function page_ajax($total,$page,$page_size = '')
{
//$total :总数
//$page :传递过来的当前页的值,第八页$page = 8;
//$page_size :每页显示的数据的数目
//$url :传递的地址,默认为当前页面
//$max_length:分页代码时候,中间的分页数的一半
$page = ($page < 1) ? 1 : $page ;
$page_size = $page_size ? $page_size : 10;
$url = $url ? $url :$_SERVER['PHP_SELF'];
//$url=str_replace('.html','',$url);
$max_length = $max_length ? $max_length : 5 ;
$start = $page ? ($page - 1) * $page_size : 0;
$total_page = ceil($total/$page_size);
$page_table = '';
//aways in the pages
$page_table = '<div class="nav-page">';
if($total>0){
//显示第一页
if($page>1){
$page_table .='<a href="###" onclick="javascript:get_log('.($page-1).')" class="previous"><</a>';
}
if($page == 1 )
{
$page_table .= '<a href="###" onclick="javascript:get_log(1)" class="on">1</a>';
}
else
{
$page_table .= '<a href="#sku_list" onclick="javascript:get_log(1)">1</a>';
}
//循环中间页码
if($total_page < $max_length*2)
{
$loop_start = 2;
$loop_end = $total_page-1;
}
else
{
$loop_start = $page - $max_length;
$loop_start = ($loop_start <2) ? 2 :$loop_start;
$loop_end = $page + $max_length;
$loop_end = ($loop_end < $max_length * 2) ? $max_length * 2:$loop_end;
$loop_end = ($loop_end > $total_page) ? $total_page-1 :$loop_end;
}
//... link
$link_start = (($loop_start - $max_length) < 2) ? 2 :$loop_start - $max_length;
$link_end = (($loop_end + $max_length) > $total_page) ? $total_page :$loop_end + $max_length;
if($loop_start > 2)
{
$page_table .= '<a href="###" onclick="javascript:get_log('.$link_start.')">...</a>';
}
//中间链接
for($i = $loop_start ; $i <= $loop_end ; $i++)
{
if($page == $i)
{
$page_table .= ' <a href="###" onclick="javascript:get_log('.$i.')" class="on">'.$i.'</a>';
}
else
{
if($i<>$total_page){ //i不等于总页数$page_table .= '<a href="###" onclick="javascript:get_log('.$i.')">'.$i.'</a>';
}
}
}
if($loop_end < $total_page-1)
{
$page_table .= '<a href="###" onclick="javascript:get_log('.$link_end.')">...</a>';
}
//末页链接
if($total_page!=1)
{
if($page == $total_page)
{
$page_table .= '<a href="###" onclick="javascript:get_log('.$total_page.')" class="on">'.$i.'</a>';
}
else
{
$page_table .= '<a href="###" onclick="javascript:get_log('.$total_page.')">'.$total_page.'</a>';
}
}
}
//输出分页代码
if($total_page>$page){
$page_table .= '
<a href="###" onclick="javascript:get_log('.($page+1).')"class="next" title="下一页">></a>';
}else{
$page_table .= '';
}
$page_table.='</div>';
return $page_table;
}
上面是拼接链接的处理函数。
在控制器中 通过传递的n的页码数查询数据,将数据返回到前端
$page = I('page')>1 ? I('page') : 1 ;
$page_size=10;//每页显示数量
$start = ($page-1)*$page_size;
$ModelObj->where($map)->limit($start,$page_size)->order('create_time desc,id')->select();//echo $ModelObj->_sql();//查询数据
$this->page=page_ajax($total,$page);//分页链接
前端jq
function get_log(n) {
$.ajax({
url: url_get_pay+'?page='+n,
cache: false,
success: function (obj) {
$('#log_list').html(obj); //将内容输入到容器中
},
error: function () {
layer.msg('搜索出现错误!', {icon: 5}); //layer弹窗插件
}
});
}
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/5149.html
上一篇:
网站域名解析怎么操作
下一篇:
三爱CBD网站的设计理念
相关网站设计案例
明鉴检测
联合太阳能多晶硅
华聚科仪
相关资讯
PHP的网站选择Linux服务器还是Windows服务...
日期:2025-02-24 浏览:155
多语言PHP网站开发方式介绍
日期:2025-02-10 浏览:219
用PHP程序发送邮件带上附件的方法
日期:2024-12-30 浏览:531
常见问题
企业网站建设常见问题整理合集【置顶】
在深圳建设一个公司网站多少钱
开发网站需要多久跟这九个因素有关
最新文章
网站前端制作之基础切图的总结经验
浏览量:3999
网站设计之基于色彩原理的快速配色法
浏览量:4205
网站建设之高德地图开发经验简解
浏览量:4355
网站改版该如何去策划定位
浏览量:4092
腾讯投资了京东为何还投资拼多多呢?
浏览量:5030
浅谈中美贸易对互联网发展的影响
浏览量:4634
400-800-9385
97798819
回到顶部
0
请您留言
非常抱歉,客服不在线,麻烦留下您的联系电话或者微信,我们看到后会马上联系您!
提交
感谢留言
我们会尽快与您联系
关闭