ASP实现静态无刷新分页效果.docx
- 文档编号:8636220
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:7
- 大小:16.54KB
ASP实现静态无刷新分页效果.docx
《ASP实现静态无刷新分页效果.docx》由会员分享,可在线阅读,更多相关《ASP实现静态无刷新分页效果.docx(7页珍藏版)》请在冰豆网上搜索。
ASP实现静态无刷新分页效果
ASP实现静态无刷新分页效果_
#FormatTableID_0#
html
head
title新闻列表简化型/title
scriptlanguage="javascript"
!
--
//ajax控件也可以做成单独文件便利到其它地方调用
functionAjax()
{
varxhrObj=null;
if(window.XMLHttpRequest)
{
xhrObj=newXMLHttpRequest();
}
elseif(window.ActiveXObject)
{
try{
xhrObj=newActiveXObject("Microsoft.XMLHTTP");
}
catch(e1)
{
try{
xhrObj=newActiveXObject("MSXML2.XMLHTTP");
}
catch(e2){
try{
xhrObj=newActiveXObject("MSXML3.XMLHTTP");
}
catch(e3){
alert("创建Ajax失败:
"+e3)
}
}
}
}
else
{
alert("未能识别的扫瞄器");
}
returnxhrObj;
}
function$(id)
{
returndocument.all[id];
}
/script
scriptlanguage="javascript"defer
varxhr=newAjax();
varpage=0;
varicount=0;//当前页数
varpagecount;//总页数
varcount=0;
varipagecount=0;
varipagesize=5;;//每页显示记录数
varpp=0;
varipage=0;
varDom=null;
functiongetList(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="正在连结服务器";
}
elseif(xhr.readystate==2||xhr.readystate==3)
{
$("newsList").innerHTML="正在读取数据";
}
elseif(xhr.readystate==4)
{
if(xhr.status==200)
{
Dom=xhr.responseXML;
$showList();
}
}
}
function$showList()
{
varhtml="";
varitems=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(endPositioncount)endPosition=count
for(vari=startPosition;iendPosition;i++)
{
html+="divid="title"ahref=""+items[i].selectSingleNode("htmlurl").text+"""+items[i].
selectSingleNode("hits").text+"/a/div";
}
$("newsList").innerHTML=html;
varstatushtml="ahref="javascript:
previousPage()"上一页/a|ahref="javascript:
nextPage()"下一页/a";
if(pagecount=10)
{
for(vari=1;i=pagecount;i++)
{
if(i==page)
{
statushtml+="b"+i+"/bnbsp;"
}
else
{
statushtml+="ahref="javascript:
turnPage("+i+")""+i+"/anbsp;"
}
}
}
elseif(page+10pagecountpagecount10)
{
if(page%10==0)
{
for(vari=page-9;i=page+1;i++)
{
if(i==page)
{
statushtml+="b"+i+"/bnbsp;"
}
else
{
statushtml+="ahref="javascript:
turnPage("+i+")""+i+"/anbsp;"
}
}
}
elseif(page%10==1page!
=1)
{
for(vari=page-1;i=page+10;i++)
{
if(i==page)
{
statushtml+="b"+i+"/bnbsp;"
}
else
{
statushtml+="ahref="javascript:
turnPage("+i+")""+i+"/anbsp;"
}
}
}
elseif(page=11)
{
for(vari=1;i=11;i++)
{
if(i==page)
{
statushtml+="b"+i+"/bnbsp;"
}
else
{
statushtml+="ahref="javascript:
turnPage("+i+")""+i+"/anbsp;"
}
}
}
else
{
for(vari=(page-(page%10));i=page+(10-(page%10))+1;i++)
{
if(i==page)
{
statushtml+="b"+i+"/bnbsp;"
}
else
{
statushtml+="ahref="javascript:
turnPage("+i+")""+i+"/anbsp;"
}
}
}
}
elseif(page+10=pagecountpagecount10)
{
if(page%10==0)
{
for(vari=page-9;i=page+1;i++)
{
if(i==page)
{
statushtml+="b"+i+"/bnbsp;"
}
else
{
statushtml+="ahref="javascript:
turnPage("+i+")""+i+"/anbsp;"
}
}
}
elseif(page%10==1page!
=1)
{
for(vari=page-1;i=page+9;i++)
{
if(i==page)
{
statushtml+="b"+i+"/bnbsp;"
}
else
{
statushtml+="ahref="javascript:
turnPage("+i+")""+i+"/anbsp;"
}
}
}
}
document.getElementById("pagestatus").innerHTML=statushtml;
}
functionpreviousPage()
{
if(page1)
{
getList(page-1);
}
else
{
alert("已经是第一页了");
}
}
functionnextPage()
{
if(pageipagecount)
{
getList(page+1);
}
else
{
alert("已经到最终一页了");
}
}
functionturnPage(p)
{
getList(p);
}
getList
(1);
/script
/head
body
divid="newsList"/div
divid="pagestatus"/div
/body
/html
建一个文件data.asp
注:
这里我用的是ACCESS数据库,库名叫data.mdb,当然这个自己可以定义,库中表名为info字段分别是id(自动编号)、a、b、c、d(日期类型)
%@Language="VBSCRIPT"codepage="936"%
%
response.cachecontrol="no-cache"
response.addHeader"pragma","no-cache"
response.expires=-1
response.expiresAbsolute=now-1
response.contentType="text/xml"
'SQL数据库Setconn=server.CreateObject("adodb.connection")
'sconn="driver={sqlserver};server=(local);uid=**;pwd=**;database=***"
'conn.opensconn
setconn=server.CreateObject("adodb.connection")
file=server.mappath("data.mdb")
conn.Open"driver={microsoftaccessdriver(*.mdb)};""dbq="file%
?
xmlversion="1.0"encoding="gb2312"?
%
dimiPagesize,rs,sSQL,iCurPage,ipresize,icount,ipagecount
icurpage=trim(request.QueryString("curpage"))
iPagesize=500'页大小
setrs=server.createObject("adodb.recordset")
'rs.open"selectcount(id)fromca_newswherestatus=1",conn,1,1
rs.open"selectcount(id)frominfo",conn,1,1
icount=rs(0)'总记录数
rs.close
ipagecount=int((icount-1)/iPagesize)+1'总页数
ificurpage=""then
icurpage=1
else
icurpage=cint(icurpage)
endif
ificurpage1then
icurpage=1
endif
ificurPageipagecountthenicurpage=ipagecount
ipreSize=(iCurPage-1)*ipagesize
ifipresize=0then
sSQL="select*frominfoorderbyiddesc"
else
'sSQL="selecttop"ipagesize"id,title,postdate,hits,htmlurlfromnewswherestatus=1andidnotin(selecttop"ipresize"idfromnewswherestatus=1orderbyidasc)orderbyidasc"
sSQL="selecttop"ipagesize"*frominfoidnotin(selecttop"ipresize"idfrominfoorderbyiddesc)orderbyiddesc"
endif
rs.opensSQL,conn,1,1
%
datacount="%=icount%"pagesize="%=ipagesize%"pagecount="%=ipagecount%"
%
whilenotrs.eof
%
itemid="%=rs("id")%"
titlelt;!
[CDATA[%=rs("a")%]]gt;/title
htmlurllt;!
[CDATA[%=rs("b")%]]gt;/htmlurl
postdate%=DateValue(rs("d"))%/postdate
hits%=trim(rs("c"))%/hits
/item
%
rs.movenext
wend
%
/data
%
rs.close
setrs=nothing
conn.close
setconn=nothing
%
更多信息请查看IT技术专栏
...
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 实现 静态 刷新 分页 效果