服务热线 400-660-5555

东莞网站建设
首页 站内资讯

东莞网站建设

站内资讯
东莞网站建设 / 站内资讯 / 行业资讯 / 正文

网站建设之php+jquery无刷新数据分页

来源: All文章
发布时间:2023-03-23 15:33:09

  当我们展现大量数据的时候,一般用会刷新页面传入不同参数方式进行数据分页,但是每次刷页面定位就会在头部,如果用瞄点或者更好的js动画进行重新定位,也会有页面刷新时闪屏的现象,为了追求更好的用户体验,我们结合ajax的局部刷新做一个不刷新页面的的分页

  functionpage_ajax($total,$page,$page_size='')

  {

  //$total:总数

  //$page:传递过来的当前页的值,第八页$page=8;

  //$page_size:每页显示的数据的数目

  //$url:传递的地址,默认为当前页面

  //$max_length:分页代码时候,中间的分页数的一半

  $page=($page1)?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='';

  //awaysinthepages

  $page_table='pclass=nav-page';

  if($total0){

  //显示第一页

  if($page1){

  $page_table.='ahref=###onclick=javascript:get_log('.($page-1).')class=previouslt;/a';

  }

  if($page==1)

  {

  $page_table.='ahref=###onclick=javascript:get_log(1)class=on1/a';

  }

  else

  {

  $page_table.='ahref=#sku_listonclick=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_start2)?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_start2)

  {

  $page_table.='ahref=###onclick=javascript:get_log('.$link_start.').../a';

  }

  //中间链接

  for($i=$loop_start;$i=$loop_end;$i++)

  {

  if($page==$i)

  {

  $page_table.='ahref=###onclick=javascript:get_log('.$i.')class=on'.$i.'/a';

  }

  else

  {

  if($i$total_page){//i不等于总页数$page_table.='ahref=###onclick=javascript:get_log('.$i.')'.$i.'/a';

  }

  }

  }

  if($loop_end$total_page-1)

  {

  $page_table.='ahref=###onclick=javascript:get_log('.$link_end.').../a';

  }

  //末页链接

  if($total_page!=1)

  {

  if($page==$total_page)

  {

  $page_table.='ahref=###onclick=javascript:get_log('.$total_page.')class=on'.$i.'/a';

  }

  else

  {

  $page_table.='ahref=###onclick=javascript:get_log('.$total_page.')'.$total_page.'/a';

  }

  }

  }

  //输出分页代码

  if($total_page$page){

  $page_table.='

  ahref=###onclick=javascript:get_log('.($page+1).')class=nexttitle=下一页gt;/a';

  }else{

  $page_table.='';

  }

  $page_table.='/p';

  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_timedesc,id')-select();//echo$ModelObj-_sql();//查询数据

  $this-page=page_ajax($total,$page);//分页链接

  前端jq

  functionget_log(n){

  $.ajax({

  url:url_get_pay+'?page='+n,

  cache:false,

  success:function(obj){

  $('#log_list').html(obj);//将内容输入到容器中

  },

  error:function(){

ayer.msg('搜索出现错误!',{icon:5});//layer弹窗插件

  }

  });

  }

* 文章来源于网络,如有侵权,请联系客服删除处理。
在线 咨询

添加动力小姐姐微信

微信 咨询

电话咨询

400-660-5555

我们联系您

电话 咨询
微信扫码关注动力小姐姐 X
qr