RSS
热门关键字:  Linux  图形  项目管理  LAMP  java
当前位置 : 主页>开源技术>AJAX技术>列表

asp ajax实现分页效果

来源:中国开源社区 作者:sherman 时间:2007-09-18 点击:

在WIN200 ACCESS可以正常运行
最近在网站看到AJAX分页效果很少,多数不能直接用,现将这给分享大家,请大家多指教。

字串2

建一个文件list.htm 字串8

字串4

<html>
<head>
<title>新闻列表简化型</title>
<script language="javascript">
<!--
//ajax 控件也可以做成单独文件方便到其它地方调用
function Ajax()
{
var xhrObj=null;
if(window.XMLHttpRequest)
{
xhrObj=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
try{
xhrObj=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e1)
{
try{
xhrObj=new ActiveXObject("MSXML2.XMLHTTP");
}
catch(e2){
try{
xhrObj=new ActiveXObject("MSXML3.XMLHTTP");
}
catch(e3){
alert("创建Ajax失败:" e3)
}
}
}
}
else
{
alert("未能识别的浏览器");
}
return xhrObj;
}

字串7

function $(id)
{
return document.all[id];
}

字串9

</script>
<script language="javascript" defer>
var xhr=new Ajax();
var page=0;
var icount=0; //当前页数
var pagecount; //总页数
var count=0;
var ipagecount=0;
var ipagesize=5;; //每页显示记录数
var pp=0;
var ipage=0;
var Dom=null;

字串3

function getList(curPage)
{
if(ipagecount!=0)
{
ipage=parseInt((curPage-1)/ipagecount) 1;
}else{
ipage=1
};
page=curPage;
if (pp!=ipage)
{;
Dom=null;
pp=ipage;
xhr.open("get","data.asp?curpage=" pp,true);
xhr.onreadystatechange=$CallBack;
xhr.send(null);
}
else
{
$showList();
}
}
function $CallBack()
{
if(xhr.readystate==1)
{
$("newsList").innerHTML="正在连结服务器";
}
else if(xhr.readystate==2 || xhr.readystate==3)
{
$("newsList").innerHTML="正在读取数据";
}
else if(xhr.readystate==4)
{
if (xhr.status==200)
{
Dom=xhr.responseXML;
$showList();
}
}
}
字串8

function $showList()
{
var html="";
var items=Dom.selectNodes("//item");
icount=Dom.selectNodes("//item").length; //数量
count=Dom.selectSingleNode("//data").getAttribute("count"); //总数量
ipagecount=parseInt((icount-1)/ipagesize) 1;
pagecount=parseInt((count-1)/ipagesize) 1;
startPosition=(page-1)*ipagesize;
endPosition=(page*ipagesize)
if(endPosition>count)endPosition=count
for(var i=startPosition;i<endPosition;i )
{
html ="<div id=\"title\"><a href=\"" items[i].selectSingleNode("htmlurl").text "\">" items[i].selectSingleNode("hits").text "</a></div>";
}
$("newsList").innerHTML=html; 字串8


var statushtml="<a href=\"">上一页</a>|<a href=\"">下一页</a>";
if(pagecount<=10)
{
for(var i=1;i<=pagecount;i )
{
if (i==page)
{
statushtml ="<b>" i "</b>&nbsp;"
}
else
{
statushtml ="<a href=\"" i ")\">" i "</a>&nbsp;"
}
}
}
else if(page 10<pagecount && pagecount>10)
{
if(page==0)
{
for(var i=page-9;i<=page 1;i )
{
if (i==page)
{
statushtml ="<b>" i "</b>&nbsp;"
}
else
{
statushtml ="<a href=\"" i ")\">" i "</a>&nbsp;"
}
}
}
else if(page % 10 ==1 && page!=1)
{
for(var i=page-1;i<=page 10;i )
{
if (i==page)
{
statushtml ="<b>" i "</b>&nbsp;"
}
else
{
statushtml ="<a href=\"" i ")\">" i "</a>&nbsp;" 字串1
}
}
}
else if(page<=11)
{
for(var i=1;i<=11;i )
{
if (i==page)
{
statushtml ="<b>" i "</b>&nbsp;"
}
else
{
statushtml ="<a href=\"" i ")\">" i "</a>&nbsp;"
}
}
}
else
{
for(var i=(page-(page % 10));i<=page (10-(page % 10)) 1;i )
{
if (i==page)
{
statushtml ="<b>" i "</b>&nbsp;"
}
else
{
statushtml ="<a href=\"" i ")\">" i "</a>&nbsp;"
}
}
}
}
else if(page 10>=pagecount && pagecount>10)
{
if(page==0)
{
for(var i=page-9;i<=page 1;i )
{
if (i==page)
{
statushtml ="<b>" i "</b>&nbsp;"
}
else
{
statushtml ="<a href=\"" i ")\">" i "</a>&nbsp;"
}
}
} 字串8
else if(page % 10 ==1 && page!=1)
{
for(var i=page-1;i<=page 9;i )
{
if (i==page)
{
statushtml ="<b>" i "</b>&nbsp;"

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册