浏览 1832 次
锁定老帖子 主题:javascript+ajax的分页处理
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-11
用javascript写分页代码的时候,由于无法像php一样使用$_GET[]函数获取连接中附带的值(例如:<a href='a.php?name='.$name.'>')而又要实现不同页面参数的传递,所以,需要利用javascript中的window.location.toString()函数,它的作用是获取当前浏览器中地址栏中的地址,然后利用split("?")函数将地址按?截断为两部分,并将结果保存在一个数组中,接着利用parseInt(ob,int)将ob转换为数字,这时要注意,链接中传递的参数应该只能是数字,这样利用parseInt函数转换的时候才有意义。像<a href='a.php?page=1'>
实现分页功能的基本思路: 2.需要设定几个值:
var amount=yan.length; //总记录数 var page_size=16; //每页记录数 var pages; //总页数 var page=1; //当前页码 var inta=0; //每一次查询的起始位置
3.每一次加载页面的时候都要获取page的值,依据page的值来改变页面的显示结果
var str=window.location.toString(); if (str.indexOf("?")==-1) { str=str+"?1" } r=str.split("?") page=parseInt(r[1],10);
4.进行逻辑判断
if(amount==0){ document.getElementById("res").innerHTML="要查询的信息不存在"; }else{
if (amount<page_size) { pages=1; } else{ if (amount%page_size==0) { pages=(amount/page_size); } else { pages=(parseInt)(amount/page_size)+1; } } if (page>=pages) { inta=(pages-1)*page_size; //到了尾页不应该继续往下翻,显示的始终是最后一页的页面 b=amount
4.设定好了这些逻辑参数以后就可以进行输出显示了
for(var i=inta;i<b;i++) { var y=yan[i]; ta+="<tr bgcolor='#e5e5e5'><td><span style='font-size:15;color:blue'>"+y.childNodes[0].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[1].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[2].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[3].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[4].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[5].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[6].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[7].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[8].firstChild.data+"</span></td>"; ta+="<td><span style='font-size:14'>"+y.childNodes[9].firstChild.data+"</span></td></tr>"; } 5.下面的就是分页连接了
if (page==1) { page_string+='第一页|上一页'; } else { page_string+='<a href=?1>第一页</a>|<a href=?'+(parseInt)(page-1)+'>上一页</a>|'; } if (page==pages) { page_string+='下一页|尾页'; } else { page_string+='<a href=?'+(page+1)+'>下一页</a>|<a href=?'+pages+'>尾页</a>'; } 分页链接通过改变并提交page的值后,影响循环语句中的起始位置和最终位置,来改变页面显示的数据。 虽然语法有区别,但分页的思路同其他语言也是一样的。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |