比较全面的php分页导航类

简介:

先说说网页为什么要分页:

1,用户体验考虑

    使用户集中注意力浏览当前页面内容,而不是给出十几屏数据,时浏览者无所适从,产生压迫感、厌倦感、焦虑感;分页使页面短小(完全可以把内容限制在一屏大小的面积内),容易布局,也增强了浏览者视觉感受。也是因为页面短小,所以加载快速。

2,技术原因

最早促使页面分页的原因,主要是技术原因。因为服务器和网速都非常慢,所以需要一种办法,使服务器的负载与网络的负担都能达到一种间歇的分布的平衡,还考虑到杜绝浏览者无意识地下载冗余信息。分页使大批量的数据(主要是表里的记录),按固定的单位(页)下载到浏览者的机器,浏览者在浏览页面的间隙,服务器和网络资源得以间断的释放,可以为别的 浏览者服务。这种方式可以基本满足大多数浏览者的需求,有效地缓解了互联网资源的压力。当然,直到现在,这种压力似乎永远没有减小的迹象,而且相反,压力 越来越大了。谁要人是一头贪婪的动物呢?分页技术虽然很有效,成了动态网页的标配技术,但用久了,难免产生审美疲劳。

 

瀑布流分页当浏览者浏览了当前页面内容后,向下拉动浏览器滚动条,本来还在服务器上的内容,会根据滚动条的拖动,动态地从服务器上按一定的单位(类似分页)下载下来。这样还带来了一个好处,就是以前已经浏览过的内容,还在浏览器当前窗口的上部(可以理解为被缓存了),要再次浏览的话,直接向上拖动滚动条或转动鼠标 滚轮即可。而采用分页技术的话,要查看先前的内容,必需再次点击鼠标(比如“上一页”等),再次请求服务器端的页面(假设没有采用缓存技术的),再次等待 页面数据的下载和呈现 。实现这种浏览效果,可以改善用户体验(最起码有新鲜感),编程技术也不难,采用 Ajax 技术是一种绝好的解决方案之一。希望更好的用户体验被大家创造出来。

 

分页存储过程http://hudeyong926.iteye.com/blog/764703

Java代码   收藏代码
  1. $(function () {  
  2.     var scrollTimer;  
  3.     var page = 0;  
  4.     jsonScrollPageData(0);//默认加第一页  
  5.   
  6.     //下面滚动取第二页++  
  7.     $(window).on('scroll', function () { //页面出现滚动条生效,即滚动事件  
  8.         if (scrollTimer) {  
  9.             clearTimeout(scrollTimer);  
  10.             scrollTimer = null;  
  11.         }  
  12.         scrollTimer = setTimeout(function () {  
  13.             jsonScrollPageData($(this).scrollTop());  
  14.         }, 200);//0.2s  
  15.     });  
  16. });  
  17.   
  18. function jsonScrollPageData(position) {  
  19.     var offsetHeight = 44;  
  20.     var viewportHeight = $(window).height();  
  21.     var bodyHeight = $('body').height();  
  22.   
  23.     if ((bodyHeight <= position + viewportHeight + offsetHeight) && page >= 0) {  
  24.         $.ajax({  
  25.             type: 'GET',  
  26.             url: url + "?t=" + Math.random(),  
  27.             data: {page: ++page},  
  28.             async: false,  
  29.             dataType: 'JSON',  
  30.             success: function (jsonData) {  
  31.                 if (jsonData.length > 0) {  
  32.   
  33.                 } else { //已全部显示  
  34.                     page = -1;  
  35.                 }  
  36.             }  
  37.         });  
  38.     }  
  39. }  

GET方式分页:

布局在页面左边的:


 

布局在页面中间的



 

 



 

 

 

 

 

 

 



布局在页面的右边

 

相关文章
|
1月前
|
Java 程序员 PHP
PHP对象和类
PHP对象和类
21 0
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql 分页数据案例
PHP 原生操作 Mysql 分页数据案例
96 1
|
8月前
|
XML 移动开发 Shell
CTF中常用的php原生类总结
CTF中常用的php原生类总结
120 0
|
9月前
|
存储 安全 搜索推荐
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
460 0
|
9月前
|
安全 关系型数据库 MySQL
使用php解压缩ZipArchive类实现后台管理升级的解决方案
使用php解压缩ZipArchive类实现后台管理升级的解决方案
55 0
|
9月前
|
关系型数据库 MySQL 程序员
漏刻有时操作数据php类记录及筛选条件的写法
漏刻有时操作数据php类记录及筛选条件的写法
41 1
|
9月前
|
前端开发 JavaScript PHP
php使用mPDF实战案例分析字符串太长时文本变小无法自动分页的解决方案
php使用mPDF实战案例分析字符串太长时文本变小无法自动分页的解决方案
127 0
|
9月前
|
定位技术 PHP
php基于百度地图封装的对象类实现计算地图上两点间的距离和地理编码
php基于百度地图封装的对象类实现计算地图上两点间的距离和地理编码
60 0
|
9月前
|
PHP
php计算两个坐标点之间的距离的类
php计算两个坐标点之间的距离的类
72 0