基于客户端的分页导航

时间:2010-03-29 19:12:32  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:p>  代码示例:  1. 纯JS的,翻页导航的依据是文件名 page.js脚本文件代码 Number.prototype.add0 = function(){    //对数字类型的扩展,主要用于实现当数字小于一定位数时在前面补0,直到倍数达到为止 return (new Array(len).join("0")+this).slice(-len)  //返回字符串,new Array(len).join("0&...
  正文:思路:用纯JS的方法,只能通过判断当前页面的文件名,然后算出上下页地址,首页和尾页需要在脚本中配置好,最后生成导航代码。用数据绑定的方法则要简单得多,设定dataPageSize,然后用 firstPage() 、previousPage() 、nextPage() 和 lastPage() 方法翻页。

  代码示例:

  1. 纯JS的,翻页导航的依据是文件名 page.js脚本文件代码

 Number.prototype.add0 = function(){    //对数字类型的扩展,主要用于实现当数字小于一定位数时在前面补0,直到倍数达到为止
 return (new Array(len).join("0")+this).slice(-len)  //返回字符串,new Array(len).join("0")得到len个相连的"0",然后和数字相加,再从得到的字符串右边起向左截取len位
 }
 String.prototype.mlink = function(n){    //对字符类型的扩展,主要用于根据文件名中的数字生成链接
 return this.link(prefix+n.add0()+suffix)    //返回一个以字符串为链接文字,prefix+n.add0()+subffix为链接地址的HTML代码
 } var prefix = "page"       //文件名前缀
 var suffix = ".htm"       //文件名后缀
 var first = 1        //第一页的文件名中的数字
 var last = 23        //最后一页的文件名中的数字
 var len = 2         //文件名中的数字的位数,从以上四个变量中可知文件名为"page01.htm"和"page23.htm"这种形式
 var cur_page = location.href.match(new RegExp(prefix+"(d+)"+suffix,"i"))[1]|0      //从当前页面地址中查找匹配的数字
 var previous = cur_page-1      //上一页的文件名中的数字为当前页的减1
 var next = cur_page+1      //下一页的文件名中的数字为当前页的加1
 if(cur_page == first) previous = first    //如果当前页为首页,则上一页的链接为首页
 if(cur_page == last) next = last     //如果当前页为尾页,则下一页的链接为尾页
 navbar.innerHTML = ["首页".mlink(first),"上一页".mlink(previous),"下一页".mlink(next),"尾页".mlink(last)].join(" ")   //在 id 为 navbar 的对象中生成导航链接

  然后在各页中用<div id="navbar"></div><script src="page.js"></script>调用

  2.对表格进行数据绑定,然后用对象的翻页方法实现