javascript+xml技术实现分页浏览


Posted in Javascript onJuly 27, 2008

共有两个文件tmh.htm & tt.xml
源代码如下:
tmh.htm 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
<META NAME="Generator" CONTENT="EditPlus">  
<META NAME="Author" CONTENT="">  
<META NAME="Keywords" CONTENT="">  
<META NAME="Description" CONTENT="">  
<link rel="stylesheet" href="../website.css" type="text/css">  
</HEAD>  
<BODY>  
<script language="javascript">  
//****************变量相关定义**************  
//* author:海仔  *  
//* Email:rautinee@21cn.com *  
//*本程序可自由传播使用,但请务必保留此信息*  
//****************************************  
var pagenum=4; //每页显示几条信息  
var page=0 ;  
var contpage ;  
var BodyText="";  
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");  
var mode="member";  
var toolBar;  
xmlDoc.async="false"  
xmlDoc.load("tt.xml")  
//***************这个地方是你根据实际取得的字段名称来改了  
header="<TABLE border=1><tr><td>姓名</td><td>图标</td><td>IP地址</td><td>email</td><td></td><td>日期</td><td></td><td></td></tr>";  
//检索的记录数  
maxNum = xmlDoc.getElementsByTagName(mode).length  
 //每条记录的列数  
 column=xmlDoc.getElementsByTagName(mode).item(0).childNodes  
 //每条记录的列数  
 colNum=column.length  
 //页数  
 pagesNumber=Math.ceil(maxNum/pagenum)-1;  
 pagesNumber2=Math.ceil(maxNum/pagenum);  
//上一个页面  
function UpPage(page)  
{  
 thePage="前一页";  
 if(page+1>1) thePage="<A HREF='#' onclick='Javascript:return UpPageGo()'>前一页</A>";  
 return thePage;  
}  
function NextPage(page)  
{  
 thePage="后一页";  
 if(page<pagesNumber) thePage="<A HREF='#' onclick='Javascript:return NextPageGo()'>后一页</A>";  
 return thePage;  
}  
function UpPageGo(){  
if(page>0) page--;  
 getContent();  
 BodyText="";  
}  
//当前的页数  
function currentPage()  
{  
 var cp;  
 cp="当前是第 "+(page+1)+" 页";  
 return cp;  
}  
//总共的页数  
function allPage()  
{  
 var ap;  
 ap='总共 '+(pagesNumber+1)+' 页';  
 return ap  
}  
function NextPageGo()  
{  
if (page<pagesNumber) page++;  
getContent();  
 BodyText="";  
}  
//显示分页状态栏  
function pageBar(page)  
{  
 var pb;  
 pb=UpPage(page)+" "+NextPage(page)+" "+currentPage()+" "+allPage()+selectPage();  
 return pb;  
}  
function changePage(tpage)  
{  
page=tpage  
 if(page>=0) page--;  
 if (page<pagesNumber) page++;  
 getContent();  
 BodyText="";  
}  
function selectPage()  
{  
 var sp;  
 sp="<select name='hehe' onChange='javascript:changePage(this.options[this.selectedIndex].value)'>";  
 //sp="<select name='hehe' onChange='alert(this.options[this.selectedIndex].value)'>";  
 sp=sp+"<option value=''></option>";  
 for (t=0;t<=pagesNumber;t++)  
 {  
 sp=sp+"<option value='"+t+"'>"+(t+1)+"</option>";  
 }  
 sp=sp+"</select>"  
 return sp;  
}  
function getContent()  
{  
if (!page) page=0;  
 n=page*pagenum;  
 endNum=(page+1)*pagenum;  
 if (endNum>maxNum) endNum=maxNum;  
 BodyText=header+BodyText;  
 for (;n<endNum;n++)  
 {  
     
 BodyText=BodyText+"<TR>";  
 for (m=0;m<=colNum-1;m++)  
 {    
 mName=column.item(m).tagName;  
 BodyText=BodyText+("<TD>"+xmlDoc.getElementsByTagName(mName).item(n).text+"</TD>");  
 }  
 BodyText=BodyText+"</TR>"  
 mm="";  
 }  
 showhtml.innerHTML=BodyText+"</table>"+pageBar(page);  
BodyText=""  
}  
</script>  
<div id="showhtml"></div>  
<script>  
if (maxNum==0)  
 {  
 document.write("没有检索到合适的人才信息")  
 }  
 else  
 {  
 getContent()  
 }  
</script>  
</BODY>  
</HTML> 

//下面是tt.xml的代码

<?xml version="1.0" encoding="GB2312"?>  
<rautinee>  
<member id='1'>  
<name>海仔</name>  
<loginName>rautinee</loginName>  
<email>rautinee@btamail.net.cn</email></member>  
<member id='2'>  
<name>刚强</name>  
<loginName>hehe</loginName>  
<email>rautinee@chinamanagers.com</email></member>  
<member id='3'>  
<name>金华刚</name>  
<loginName>nature_it</loginName>  
<email>rautinee_sea@hotmail.com</email></member>  
<member id='4'>  
<name>的简强</name>  
<loginName>tank</loginName>  
<email>tank@163.com</email></member>  
<member id='7'>  
<name>合资</name>  
<loginName>kaka</loginName>  
<email>kaka@eyou.com</email></member>  
<member id='6'>  
<name>加个人</name>  
<loginName>apple</loginName>  
<email>apple@163.com</email></member>  
<member id='8'>  
<name>null</name>  
<loginName>sunny</loginName>  
<email>rautinee@eyou.com</email></member>  
<member id='10'>  
<name>宝贝</name>  
<loginName>index</loginName>  
<email>rautinee@21cn.com</email></member>  
<member id='12'>  
<name>null</name>  
<loginName>login</loginName>  
<email>webmaster@chinamanagers.com</email></member>  
<member id='13'>  
<name>jiang</name>  
<loginName>123</loginName>  
<email>japing@chianmanagers.com</email></member>  
<member id='14'>  
<name>null</name>  
<loginName>world</loginName>  
<email>rautinee@21cn.com</email></member>  
<member id='15'>  
<name>null</name>  
<loginName>swallow</loginName>  
<email>swallow@chinamanagers.com</email></member>  
<member id='16'>  
<name>魏格</name>  
<loginName>hotmail</loginName>  
<email>rautinee_sea@hotmail.com</email></member>  
<member id='17'>  
<name>null</name>  
<loginName>wrong</loginName>  
<email>wrong@chinamanagers.com</email></member>  
<member id='18'>  
<name>null</name>  
<loginName>leah</loginName>  
<email>leah@chinamanagers.com</email></member>  
<member id='19'>  
<name>null</name>  
<loginName>ttth</loginName>  
<email>rautinee@21cn.com</email></member>  
</rautinee>  

目前好像是只支持>IE5.0

如果你有什么好的方法和改进,请来信通知我,谢谢。

Javascript 相关文章推荐
javascript学习笔记(十) js对象 继承
Jun 19 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 Javascript
微信小程序 css使用技巧总结
Jan 09 Javascript
addEventListener()与removeEventListener()解析
Apr 20 Javascript
微信小程序实现锚点定位楼层跳跃的实例
May 18 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
Vue实现搜索 和新闻列表功能简单范例
Mar 16 Javascript
如何从零开始利用js手写一个Promise库详解
Apr 19 Javascript
Node.js API详解之 timer模块用法实例分析
May 07 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
Jul 26 #Javascript
发一个自己用JS写的实用看图工具实现代码
Jul 26 #Javascript
对JavaScript的eval()中使用函数的进一步讨论
Jul 26 #Javascript
js树形控件脚本代码
Jul 24 #Javascript
js类中的公有变量和私有变量
Jul 24 #Javascript
javascript IE中的DOM ready应用技巧
Jul 23 #Javascript
css把超出的部分显示为省略号的方法兼容火狐
Jul 23 #Javascript
You might like
session 的生命周期是多长
2006/10/09 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python 实现二维列表转置
2019/12/02 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
总经理任命书
2014/03/29 职场文书
软件售后服务方案
2014/05/29 职场文书
工作求职自荐信
2014/06/13 职场文书
争先创优活动总结
2014/08/27 职场文书
2014年店长工作总结
2014/11/17 职场文书
个人党性分析材料
2014/12/19 职场文书
手机销售员岗位职责
2015/04/11 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
Linux中如何安装并部署Redis
2022/04/18 Servers
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
vue实现在data里引入相对路径
2022/06/05 Vue.js