站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题基于客户端的分页导航

基于客户端的分页导航

摘要: 基于客户端的分页导航
<tr> <td>

  思路:用纯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 的对象中生成导航链接

  然后在各页中用

<script src="page.js"></script>调用

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

<textarea class=fm id=code5 rows=12 cols=78> [FLASH技术交流] [Action Script讨论区] [Macromedia Studio MX 2004讨论学习区] [Flash动画技术区] [Flash游戏技术区] [图形处理与视觉传达] [手绘艺术与角色设计] [Flash资源共享] [Flash 3d 技术专版] [网页设计与编程] [精品WEB-SITE] [闪吧电脑学校]

<table bordercolor="#333333" border="1" cellspacing="0" cellpadding="3" datasrc="#oXML" dataPageSize="2" id="dTable"> <tr> <td width="25%" rowspan="2" align="center" valign="top"></td> <td width="75%" height="20"></td> </tr> <tr> <td></td> </tr> </table> <table border="0" cellspacing="0" cellpadding="3" > <tr> <td align="right" colspan="2"></td> </tr> </table> </textarea>

<input style="CURSOR: hand" onfocus=this.blur() onclick="runEx('code5')" type=button value=运行代码> <input style="WIDTH: 95px; CURSOR: hand" onfocus=this.blur() onclick=cycode(code5) type=button value=复制到剪贴板 name=Submit> <input style="CURSOR: hand" onfocus=this.blur() onclick=svcode(code5) type=button value=另存代码> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

  注意:必须设置表格的dataPageSize属性,并且数据源跟 XML 对象的 id 相对应,翻页时的对象必须跟绑定数据的表格对象相对应

  提示:
  dataPageSize 设置或获取绑定到数据源的表格中显示的记录数
  dataSrc 设置或获取用于数据绑定的数据源
  dataFld 设置或获取由 dataSrc 属性指定的绑定到指定对象的给定数据源的字段
  firstPage 显示绑定表格的数据集的第一页记录
  previousPage 显示绑定表格的数据集的上一页记录
  nextPage 显示绑定表格的数据集的下一页记录
  lastPage 显示绑定表格的数据集的最后一页记录
  技巧:如果每次只显示一条记录,还可以用记录集移动的方法:



[FLASH技术交流]



[Action Script讨论区]



[Macromedia Studio MX 2004讨论学习区]



[Flash动画技术区]



[Flash游戏技术区]



[图形处理与视觉传达]



[手绘艺术与角色设计]



[Flash资源共享]



[Flash 3d 技术专版]



[网页设计与编程]



[精品WEB-SITE]



[闪吧电脑学校]






<table bordercolor="#333333" border="1" cellspacing="0"
<tr>
<td width="25%" rowspan="2" align="center" valign="top"></td>
<td width="75%" height="20"></td>
</tr>
<tr>
<td></td>
</tr>
</table>
<table border="0" cellspacing="0"
<tr>
<td align="right" colspan="2"></td>
</tr>
</table>

</td> </tr> </table>
↑返回目录
前一篇: 网页鼠标右键被禁用破解又一法
后一篇: 以一个最简单的例子把OO的JavaScript说明白