仿豆瓣分页原型(Javascript版)

作者:tyhouse 来源:twocity.cn 时间:2007-11-05 14:04:00 

仿豆瓣分页原型(Javascript版)写了个分页的样式。

自我感觉,这样的分页前后兼顾,对于用户的体验是蛮好使的

Javascript分页代码如下:


<script language="javascript" type="text/javascript">
function QueryString(item){
 var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"))
 return sValue?sValue[1]:sValue
}
var count = 560;
var perpage = 20;
var currentpage = QueryString("page");
if (currentpage==null){
 currentpage = 1;
}else{
 currentpage = parseInt(currentpage);
}
var pagecount = Math.floor(count/perpage);
var pagestr = "";
var breakpage = 9;
var currentposition = 4;
var breakspace = 2;
var maxspace = 4;
var prevnum = currentpage-currentposition;
var nextnum = currentpage+currentposition;
if(prevnum<1) prevnum = 1;
if(nextnum>pagecount) nextnum = pagecount;
pagestr += (currentpage==1)?'<span class="prev">< 前页</span>':'<span class="prev">< <a href="?page='+(currentpage-1)+'">前页</a></span>';
if(prevnum-breakspace>maxspace){
 for(i=1;i<=breakspace;i++)
  pagestr += '<a href="?page='+i+'">'+i+'</a>';
 pagestr += '<span class="break">...</span>';
 for(i=pagecount-breakpage+1;i<prevnum;i++)
  pagestr += '<a href="?page='+i+'">'+i+'</a>';
}else{
 for(i=1;i<prevnum;i++)
  pagestr += '<a href="?page='+i+'">'+i+'</a>';
}
for(i=prevnum;i<=nextnum;i++){
 pagestr += (currentpage==i)?'<span class="thispage">'+i+'</span>':'<a href="?page='+i+'">'+i+'</a>';
}
if(pagecount-breakspace-nextnum+1>maxspace){
 for(i=nextnum+1;i<=breakpage;i++)
  pagestr += '<a href="?page='+i+'">'+i+'</a>';
 pagestr += '<span class="break">...</span>';
 for(i=pagecount-breakspace+1;i<=pagecount;i++)
  pagestr += '<a href="?page='+i+'">'+i+'</a>';
}else{
 for(i=nextnum+1;i<=pagecount;i++)
  pagestr += '<a href="?page='+i+'">'+i+'</a>';
}
pagestr += (currentpage==pagecount)?'<span class="next">后页 ></span>':'<span class="next"><a href="?page='+(currentpage+1)+'">后页</a> ></span>';
document.getElementById("pagebar").innerHTML = pagestr;
</script>




 

 

标签:分页,javascript
0
投稿

猜你喜欢

  • 标签水平右对齐更适合中文网站

    2009-05-01 11:54:00
  • 什么是XML

    2008-09-05 17:21:00
  • MySQL UPDATE delete 语句的速度

    2008-03-12 12:22:00
  • 非常详细的IFRAME的属性参考手册

    2008-02-12 12:45:00
  • 嵌入Flash应该考虑不支持Flash的浏览器

    2007-12-20 12:29:00
  • Check In和Check Out的多人协作管理

    2007-02-03 11:39:00
  • ASP导出Excel数据的四种办法

    2007-08-26 18:32:00
  • 使用正则表达式找出不包含特定字符串的条目

    2010-03-02 22:06:00
  • 观点 2009 年,IE6 走好

    2009-01-04 16:46:00
  • 常用正则表达式例子及评注说明

    2008-01-03 13:04:00
  • HTML5中 b 和 i 标签将语义化

    2008-03-16 13:43:00
  • IE8新特性及IE8安装使用 目录

    2008-04-01 09:50:00
  • 说说CSS的优先权 考虑CSS的继承与层叠

    2008-12-11 13:33:00
  • HTML的优化杂记

    2010-03-10 10:39:00
  • JavaScript性能优化小技巧,创建文档碎片

    2010-03-31 18:27:00
  • 详解PHP结构型设计模式之桥接模式Bridge Pattern

    2023-05-25 06:58:55
  • 页面表达常用方式

    2010-05-27 12:42:00
  • SQL Server 安装出错:以前的某个程序安装已在安装计算机上创建挂起的文件操作

    2010-02-23 14:48:00
  • 你是真正的用户体验设计者吗? Ⅴ

    2008-04-19 18:32:00
  • 一个不错的javascript加密解密算法源码

    2010-03-28 13:12:00
  • asp之家 网络编程 m.aspxhome.com