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下判断是否为闰年的Datetime包
Oct 26 Javascript
下拉列表select 由左边框移动到右边示例
Dec 04 Javascript
浅析JavaScript声明变量
Dec 21 Javascript
纯js实现html转pdf的简单实例(推荐)
Feb 16 Javascript
基于angular2 的 http服务封装的实例代码
Jun 29 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 Javascript
使用vue-cli导入Element UI组件的方法
May 16 Javascript
详解angular如何调用HTML字符串的方法
Jun 30 Javascript
vue生成token并保存到本地存储中
Jul 17 Javascript
9102年webpack4搭建vue项目的方法步骤
Feb 20 Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 Javascript
vue print.js打印支持Echarts图表操作
Nov 13 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
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php实现求相对时间函数
2015/06/15 PHP
php封装的验证码类分享
2017/02/26 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
PHP7 list() 函数修改
2021/03/09 PHP
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
在Python的Django框架中创建语言文件
2015/07/27 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
python hash每次调用结果不同的原因
2019/11/21 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
三星美国官网:Samsung美国
2017/02/06 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
学生检讨书怎么写?
2014/10/10 职场文书
公司承诺函范文
2015/01/21 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
员工试用期工作总结
2019/06/20 职场文书