使用ajax实现仿google分页并隔行变色
来源:互联网 发布:沈阳淘车网络骗局 编辑:程序博客网 时间:2024/06/05 11:12
ajax-lx-page.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>练习分页效果</title><script type="text/javascript" src="ajaxUtil.js"></script><style type="text/css"> #d1{ left:320px;top:0px;position:absolute; } #content{ width:750px; background-color:#F9F; border:1px dashed #03F; } #pageNum{width:750px; text-align:center;background-color:#999;border:1px dashed #03F;cursor:pointer; } .top{ background-color:#6C3; } .one{ background-color:#6C9; } .two{ background-color:#FC3; } .over{ background-color:#C39; } </style><script type="text/javascript"> //进行分页判断 function duan(canshu){ var xhr=new XMLHttpRequest(); if(isNaN(canshu)){ var url="ajax-lx-page.php?np="+1+"&r="+Math.random(); }else{ var url="ajax-lx-page.php?np="+canshu+"&r="+Math.random(); } xhr.open("get",url,true); //状态1 xhr.send(null);//状态2 xhr.onreadystatechange=function (){ if(xhr.readyState==4){ var text=xhr.responseText; var arr=text.split("@");
var qian=arr[0].split(";"); var hou=arr[1]; var pages=parseInt(qian[0]); var nowPage=parseInt(qian[1]); document.getElementById("content").innerHTML=hou; changeColor(); //定义起始页var startPage=1; //定义结束页 var endPage=pages; //定义当前页 // var nowPage=nowPage; //定义总页数//var pages=pages; //进行判断 如果总页数大于11 if(pages>11){//当前页-10大于0 起始值=当前页-10 if(nowPage-10>0){ startPage=nowPage-10; }//判断当前值+9<pages时 最终值=当前值+9 否则最终值=总页数 if(nowPage+9<pages){ endPage=nowPage+9; }else{endPage=pages; }} //进行循环 var pagestr=""; //上一页 if(nowPage>1){ var a=nowPage-1; // pagestr+="<a href='ajax-lx-page.php?np="+(nowPage-1)+"'>上一页</a>"; pagestr+="<a onclick=duan("+a+")>上一页</a>"; } //alert(startPage); //alert(endPage); for(var i=startPage;i<=endPage;i++){ if(nowPage==i){ pagestr+=" <a onclick=duan("+i+")><b><font color='yellow'>"+i+"</font></b></a>"; }else{ pagestr+=" <a onclick=duan("+i+")>"+i+"</a>";} } //下一页 if(nowPage<pages){ var b=nowPage+1; pagestr+="<a onclick=duan("+b+")>下一页</a>"; } document.getElementById("pageNum").innerHTML=pagestr; } } }//隔行变色 function changeColor(){//var tab2=document.getElementById("tab2");var len=document.getElementsByTagName('tr');//alert(len.length);for(var i=1;i<len.length;i++){if(i%2==0){len[i].className="two";}else{len[i].className="one";}}} //鼠标点上去变色 鼠标移动到 var color=""; function colors(trNode){ color=trNode.className; trNode.className="over"; } //鼠标移走 function out(trNode){ trNode.className=color; } </script></head><body onload="duan();changeColor()"><div id="d1"> <b><h2 align="center">练习分页效果</h2></b> <div id="content"> </div> <div id="pageNum"></div> </div></body></html>
ajax-lx-page.php:
<?php include("../include/dbConn.php"); /* 获取数据库数据 */ //定义当前页 if($_GET['np']){ $nowPage=$_GET['np']; }else{ $nowPage=1; } //定义一页显示记录数 $f_pagesize=19; //获取总页数 $sql="select count(*) from area"; $qu=mysql_query($sql); $res=mysql_result($qu,0); $pages=ceil($res/$f_pagesize); $str.=$pages.";".$nowPage; //echo $str; //进行搜索 function getsql($a){$mysql="select * from area";if($a){$mysql.=" where name like '$a%'";}return $mysql;} $sql=getsql($name); //判断是否点击了搜索 $c=$sql.' limit '.($nowPage-1)*$f_pagesize.",".$f_pagesize; $rs=mysql_query($c); $str.="@<table border='1' align='center' width='100%'>"; $str.="<tr><th>id</th><th>名称</th><th>拼音</th><th>编码</th><th>简称</th></tr>"; while($rows=mysql_fetch_assoc($rs)){ //$str.="<tr align='center'><td>""</td></tr>"; $str.="<tr align='center' onmouseover='colors(this)' onmouseout='out(this)'><td>".$rows['id']."</td><td>".$rows['name']."</td><td>".$rows['p']."</td><td>".$rows['code']."</td><td>".$rows['commend']."</td></tr>"; } $str.="</table>"; echo $str; ?>
ajaxUtil.js:
function get(url1,params,methodName){ /* ajax使用的基本步骤: 1、初始化ajax引擎 2、封装url(设定要请求的路径) 3、打开ajax引擎(同步方式、异步的方式;本次传输使用get还是post) 4、将要请求的信息通过引擎发送到服务器进行处理 5、监听服务器返回给ajax引擎的处理状态 6、判断是否交互完毕,如果交互完毕则取出返回的数 */ //初始化ajax引擎 var xhr = new XMLHttpRequest();//这种方式只针对ie浏览器,并且ie6以下还有问题。 var url=url1+"?"+params+"&r="+Math.random(); //alert(url); //打开引擎 xhr.open("get",url,true); //readyState=1 //发送请求 xhr.send(null); //readyState=2 //监听readyState值的改变,每次改变都会执行下面额函数 xhr.onreadystatechange=function (){ //如果等于4,表明交互完毕 ,我们可以取出服务器返回的内容 if(xhr.readyState==4){ //动态调用方法,为什么说是动态呢?方法的名称是个变量methodNamemethodName(xhr); } }}//$$()方法用于方便取出 id="id" 的对象function $$(id){return document.getElementById(id);}
- 使用ajax实现仿google分页并隔行变色
- 仿google分页,隔行变色,ajax无刷新分页,完整版
- Ajax+js+dom+json+php+mysql实现仿google的超强分页、隔行变色效果
- ajax+js+dom+json+php+mysql实现仿百度、google的分页隔行变色效果(加图片)
- 使用dom实现隔行变色
- 使用javascript实现隔行变色
- 使用javascript实现隔行变色
- 使用jQuery实现隔行变色
- 使用JQuery实现隔行变色
- 实现查询分页以及隔行变色
- ajax+js+dom实现隔行变色效果
- ajax+js+dom实现隔行变色效果
- 使用JavaScript和jQuery实现隔行变色
- 使用JQuery实现隔行变色的效果
- smarty中使用实现隔行变色
- 使用jquery过滤器实现隔行变色效果
- 使用CSS实现table隔行变色
- 实现表格隔行变色
- ehcache.xml 的配置详解和示例
- 千呼万唤 HTML 5 (3) - 内容分组元素
- android ListView 几个重要属性
- 千呼万唤 HTML 5 (4) - 文本语义元素
- android service组件学习-1
- 使用ajax实现仿google分页并隔行变色
- Linux安装卸载Mysql数据库
- oracle timestamp 查询
- js时间加减与时间对象与字符串之间的转换
- 由CStringW(wchar_t)不能正常打印收集的
- 15种能力
- 聊天室的功能实现(主要部分)
- The CATALINA_HOME environment variable
- C语言课程设计职工信息管理系统