Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 868|回复: 0

javascript+ajax的分页处理

[复制链接]

该用户从未签到

发表于 2011-10-28 14:00:46 | 显示全部楼层 |阅读模式
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'>

实现分页功能的基本思路:
1.连接到数据库, 并且依据sql语句取得了查询结果
2.需要设定几个值:
         
  1.   var amount=yan.length; //总记录数   
  2. var page_size=16;   //每页记录数   
  3. var pages;  //总页数   
  4. var page=1; //当前页码   
  5. var inta=0; //每一次查询的起始位置<BR>              var b;            //设定查询的终止位置<BR>   
  6.               var amount=yan.length;    //总记录数
  7.     var page_size=16;    //每页记录数
  8.     var pages;    //总页数
  9.     var page=1;    //当前页码
  10.     var inta=0;    //每一次查询的起始位置              var b;            //设定查询的终止位置
复制代码

3.每一次加载页面的时候都要获取page的值,依据page的值来改变页面的显示结果
  1. var str=window.location.toString();   
  2.     if (str.indexOf("?")==-1)   
  3.     {   
  4.         str=str+"?1"   
  5.     }   
  6.     r=str.split("?")   
  7.     page=parseInt(r[1],10);   
  8. var str=window.location.toString();
  9.     if (str.indexOf("?")==-1)
  10.     {
  11.         str=str+"?1"
  12.     }
  13.     r=str.split("?")
  14.     page=parseInt(r[1],10);
复制代码
4.进行逻辑判断
  1. if(amount==0){   
  2.         document.getElementById("res").innerHTML="要查询的信息不存在";   
  3.     }   
  4. if(amount==0){
  5.         document.getElementById("res").innerHTML="要查询的信息不存在";
  6.     }
  7.   else{
  8.    
复制代码
  1. if (amount<page_size)   
  2.         {   
  3.             pages=1;   
  4.         }   
  5.         else{   
  6.          if (amount%page_size==0)   
  7.             {   
  8.                 pages=(amount/page_size);   
  9.             }      
  10.          else   
  11.             {   
  12.                 pages=(parseInt)(amount/page_size)+1;   
  13.             }   
  14.         }   
  15.         if (page>=pages)   
  16.         {   
  17.             inta=(pages-1)*page_size;   //到了尾页不应该继续往下翻,显示的始终是最后一页的页面   
  18.             b=amount        <BR>        }   
  19.         else   
  20.         {   
  21.             inta=(page-1)*page_size;   
  22.             b=page*page_size;   
  23.         }   
  24. if (amount<page_size)
  25.         {
  26.             pages=1;
  27.         }
  28.         else{
  29.          if (amount%page_size==0)
  30.             {
  31.                 pages=(amount/page_size);
  32.             }     
  33.          else
  34.             {
  35.                 pages=(parseInt)(amount/page_size)+1;
  36.             }
  37.         }
  38.         if (page>=pages)
  39.         {
  40.             inta=(pages-1)*page_size;    //到了尾页不应该继续往下翻,显示的始终是最后一页的页面
  41.             b=amount                }
  42.         else
  43.         {
  44.             inta=(page-1)*page_size;
  45.             b=page*page_size;
  46.         }
复制代码
4.设定好了这些逻辑参数以后就可以进行输出显示了
  1. for(var i=inta;i<b;i++)   
  2.         {   
  3.             var y=yan;   
  4.             ta+="<tr bgcolor='#e5e5e5'><td><span style='font-size:15;color:blue'>"+y.childNodes[0].firstChild.data+"</span></td>";   
  5.             ta+="<td><span style='font-size:14'>"+y.childNodes[1].firstChild.data+"</span></td>";   
  6.             ta+="<td><span style='font-size:14'>"+y.childNodes[2].firstChild.data+"</span></td>";   
  7.             ta+="<td><span style='font-size:14'>"+y.childNodes[3].firstChild.data+"</span></td>";   
  8.             ta+="<td><span style='font-size:14'>"+y.childNodes[4].firstChild.data+"</span></td>";   
  9.             ta+="<td><span style='font-size:14'>"+y.childNodes[5].firstChild.data+"</span></td>";   
  10.             ta+="<td><span style='font-size:14'>"+y.childNodes[6].firstChild.data+"</span></td>";   
  11.             ta+="<td><span style='font-size:14'>"+y.childNodes[7].firstChild.data+"</span></td>";   
  12.             ta+="<td><span style='font-size:14'>"+y.childNodes[8].firstChild.data+"</span></td>";   
  13.             ta+="<td><span style='font-size:14'>"+y.childNodes[9].firstChild.data+"</span></td></tr>";   
  14.         }<BR>   
  15. for(var i=inta;i<b;i++)
  16.         {
  17.             var y=yan;
  18.             ta+="<tr bgcolor='#e5e5e5'><td><span style='font-size:15;color:blue'>"+y.childNodes[0].firstChild.data+"</span></td>";
  19.             ta+="<td><span style='font-size:14'>"+y.childNodes[1].firstChild.data+"</span></td>";
  20.             ta+="<td><span style='font-size:14'>"+y.childNodes[2].firstChild.data+"</span></td>";
  21.             ta+="<td><span style='font-size:14'>"+y.childNodes[3].firstChild.data+"</span></td>";
  22.             ta+="<td><span style='font-size:14'>"+y.childNodes[4].firstChild.data+"</span></td>";
  23.             ta+="<td><span style='font-size:14'>"+y.childNodes[5].firstChild.data+"</span></td>";
  24.             ta+="<td><span style='font-size:14'>"+y.childNodes[6].firstChild.data+"</span></td>";
  25.             ta+="<td><span style='font-size:14'>"+y.childNodes[7].firstChild.data+"</span></td>";
  26.             ta+="<td><span style='font-size:14'>"+y.childNodes[8].firstChild.data+"</span></td>";
  27.             ta+="<td><span style='font-size:14'>"+y.childNodes[9].firstChild.data+"</span></td></tr>";
  28.         }   
复制代码
5.下面的就是分页连接了
  1. if (page==1)   
  2.         {   
  3.             page_string+='第一页|上一页';   
  4.         }   
  5.         else   
  6.         {   
  7.             page_string+='<a href=?1>第一页</a>|<a href=?'+(parseInt)(page-1)+'>上一页</a>|';   
  8.         }   
  9.         if (page==pages)   
  10.         {   
  11.             page_string+='下一页|尾页';   
  12.         }   
  13.         else   
  14.         {   
  15.             page_string+='<a href=?'+(page+1)+'>下一页</a>|<a href=?'+pages+'>尾页</a>';   
  16.         }<BR><BR>ta+=page_string;<BR>document.getElementById("res").innerHTML=ta;<BR>   
  17. if (page==1)
  18.         {
  19.             page_string+='第一页|上一页';
  20.         }
  21.         else
  22.         {
  23.             page_string+='<a href=?1>第一页</a>|<a href=?'+(parseInt)(page-1)+'>上一页</a>|';
  24.         }
  25.         if (page==pages)
  26.         {
  27.             page_string+='下一页|尾页';
  28.         }
  29.         else
  30.         {
  31.             page_string+='<a href=?'+(page+1)+'>下一页</a>|<a href=?'+pages+'>尾页</a>';
  32.         }ta+=page_string;document.getElementById("res").innerHTML=ta;  
复制代码

分页链接通过改变并提交page的值后,影响循环语句中的起始位置和最终位置,来改变页面显示的数据。
虽然语法有区别,但分页的思路同其他语言也是一样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-18 12:26 , Processed in 0.390790 second(s), 48 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表