ajax实现分页效果一

总共有两个文件,第一个文件为index.html是用来显示的文件,第二个就p.asp文件处理并返回页面.

先来看看效果图吧:

下面是调用页面index.html

<html>
<head>
<title>AJAX静态分页</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">

<style type="text/css">
<!--
body    { text-align:center;font:14px Verdana,sans-serif; }
a:link,a:visited { color:#00f;text-decoration:none; }
a:hover    { color:#f00;text-decoration:underline; }
#main    { width:450px;background:#f2f2f2;border:1px #999 solid;padding:10px;text-align:left;line-height:150%;margin:0 auto; }
#title    { width:100%;line-height:30px;border-bottom:1px #999 solid;display:table; }
#left    { float:left;width:50%;text-align:left;font-size:14px;font-weight:bold; }
#right    { float:left;width:50%;text-align:right; }
#content   { width:100%;margin:10px 0;clear:both; }
#download   { width:100%;margin:10px 0;line-height:150%; }
-->
</style>

<script type="text/javascript">
<!--
function createAjax() {   //该函数将返回XMLHTTP对象实例
 var _xmlhttp;
 try { 
  _xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //IE的创建方式
 }
 catch (e) {
  try {
   _xmlhttp=new XMLHttpRequest(); //FF等浏览器的创建方式
  }
  catch (e) {
   _xmlhttp=false;  //如果创建失败,将返回false
  }
 }
 return _xmlhttp; //返回xmlhttp对象实例
}

function getweblist(page) {  //该函数用来获取分页数据
 var xmlhttp=createAjax(); //创建变量xmlhttp,并将createAjax()函数创建的对象实例赋于它
 if (xmlhttp) {  //如果xmlhttp对象创建成功,则执行条件语句中的程序
  var content=document.getElementById('content');  //获取页面中id为content的对象
  xmlhttp.open('get','server.asp?page='+page+'&n='+Math.random(),true); //打开与服务器的连接,其中get为连接方式,server.asp为要连接的页面,有两个参数,其中第一个参数page为需要返回数据的页数,第二个参数n为一个随机数,这样每次发送的URL都会不一样,相当于都向服务器发出一个新的请求,避免浏览器缓存数据。
  xmlhttp.onreadystatechange=function() {  //为xmlhttp对象的readyState属性指定事件,改属性值改变时,则会执行其中的程序
   if (xmlhttp.readyState==4 && xmlhttp.status==200) { //如果xmlhttp.readyState==4并且xmlhttp.status==200时,执行条件中的程序,其中readyState有五个值,4为请求完成,是客户端向服务器提交的数据成功到达,status有N多值-_-!!,其中200为OK,是指服务器向客户端完成发送数据。
    content.innerHTML=unescape(xmlhttp.responseText); //将服务器返回的数据解码并写入指定的ID中。
   }
   else {
    content.innerHTML='<span style="color:red">正在从服务器提取数据......</span>'; //如果服务器没有完成传送,则向用户提示正在传输。
   }
  }
  xmlhttp.send(null); //向服务器发送请求,因为是get请求,会直接附在URL后面,所以这里括号中的数据为null,IE中也可以不写,但FF就必须加上null,否则会发送失败。
 }
}

function edit() { //编辑分页显示条数的函数
 var str='<form style="margin:0">每页显示 <input type="text" id="pagesize" size="3"> 条 <input type="button" id="savebtn" value="保存" onclick="save()"> <input type="button" id="cancelbtn" value="取消" onclick="rightinfo()"></form>'  //定义html字符串
 var right=document.getElementById('right'); //获得页面中的right对象。
 right.innerHTML=str; 将str变量的值写入该对象中。
}

function rightinfo() {  //right对象中的原始信息,请在页面开始和被显示条数被修改后调用
 document.getElementById('right').innerHTML='<a href="javascript:void(edit())" title="修改每页显示条数">Edit</a>';
}

function save() { //保存修改后的显示条数
 var pagesize=document.getElementById('pagesize'); //这个就不写了,跟上面的用法一样。
 if (pagesize.value==''||/[0-9]+/.test(pagesize.value)==false) {  //确定用户输入的新数据是不是一个数字
  alert("请正确填写每页显示条数! ");
  return;
 }
 var xmlhttp=createAjax(); //创建对象
 if (xmlhttp) {
  xmlhttp.open('get','set.asp?pagesize='+pagesize.value+'&n='+Math.random(),true)  //参上同看
  xmlhttp.onreadystatechange=function() {
   if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    document.getElementById('right').innerHTML=unescape(xmlhttp.responseText); //先写入从服务器返回的字符串,如果成功,会写入completed。
    getweblist(1);  //从新获取新修改后的第一页的数据
    setTimeout('rightinfo()',3000);  //3秒后将right对象的原始字符串写入。
   }
   else {
    document.getElementById('pagesize').disabled=true; //将几个FORM表单的元素都设为不可改动
    document.getElementById('savebtn').disabled=true;
    document.getElementById('cancelbtn').disabled=true;
   }
  }
  xmlhttp.send(null); //发送请求。
 }
}

//-->
</script>
</head>

<body onload="getweblist(1);rightinfo();">
 <div id="main">
  <div id="title">
   <div id="left">静态分页的AJAX实现</div>
   <div id="right"></div>
  </div>
  <div id="content"></div>
  <div id="download">
   作者:十一狼<br />
     </div>

 </div>
</body>

</html>
p.asp文件请看下一篇,

时间: 2024-09-23 21:09:57

ajax实现分页效果一的相关文章

PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用_php实例

jPaginate是基于jQuery的动感滚动分页插件,它的表现形式是像分页的按钮一样,非常有意思的是这些按钮却可以滚动,可以通过单击或鼠标滑向点两侧的小箭头来控制按钮的前后滚动.   调用jPaginate插件的方法很简单: $(elementID).paginate() 属性设置可喜的是,jPaginate提供了很多属性配置,您可以轻易的定制想要的分页效果. 设置方法如: $(elementID).paginate({ count:80, start:1, ... }) count: 数字,

ajax实现分页效果二

<!--#include file="conn.asp"-->// 调用数据库了, <% 'Dim pagesize 'sql="select top 1 * from [pagesize] order by id desc" 'rs.open sql,conn,1,1 'pagesize=rs("pagesize") 'rs.Close If session("pagesize")=""

Laravel+jQuery实现AJAX分页效果_php实例

本文实例讲述了Laravel+jQuery实现AJAX分页效果.分享给大家供大家参考,具体如下: JavaScript部分: //_______________________ // listener to the [select from existing photos] button $('#photosModal').on('shown.bs.modal', function () { // get the first page of photos (paginated) getPhoto

Json的Ajax无刷新分页效果

Json的Ajax无刷新分页效果 这一篇我讲接着写利用json读取数据以及和分页器绑定实现无刷新的分页效果 //根据当前页读取数据        function BindCommentList(page) {            $.post("/Ajax/Elec_Comment/GetData.asp教程x", { pid: '<%=DotNet.Framework.Common.QueryString.QId("id") %>', page:

简单实现Ajax无刷新分页效果

Ajax无刷新分页效果,如下代码实现 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ajax无刷新分页效果</title> <script type="text/javascript"> function showpage(url) { var xhr = new XML

Laravel+jQuery实现AJAX分页效果

本文实例讲述了Laravel+jQuery实现AJAX分页效果.分享给大家供大家参考,具体如下: JavaScript部分: //_______________________ // listener to the [select from existing photos] button $('#photosModal').on('shown.bs.modal', function () { // get the first page of photos (paginated) getPhoto

ajax翻页效果模仿yii框架自己写的

 这篇文章主要介绍了自己写的ajax翻页效果,模仿yii框架,需要的朋友可以参考下  代码如下: <!DOCTYPE html>  <html>  <head>  <title>ajax分页</title>  <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>  <script>  function load

PHP+Ajax实现分页技术

PHP+Ajax实现分页技术: 基于php和ajax的分页技术代码,下面有两个php文件,一个是sn_inq.php,另一个是sn_show.php,前一个php文件调用后一个php文件,实现ajax分页,运行sn_inq即可实现效果,不过得修改数据库哦.具体代码如下:红色标注的地方要特别注意修改哦! 我的数据库名是inv,表名是sn,字段有:sn_id,sn_plant,sn_sales,sn_act,sn_type,sn_sts..... 1.sn_inq.php //getFormValu

asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页_实用技巧

ListView控件本身并没有分页功能,不过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎不需要开发人员写一行代码,将ListView控件放到页面上,设置好布局和DataSource,然后再添加一个DataPager控件,将它的PagedControlID属性设置成ListView的ID,PageSize中设置每页要显示的数据条数,然后在Fields中设置好分页的样式(当然你完全可以不用去管样式,ASP.NET会根据内置的样式来