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 相关文章推荐
jquery trim() 功能源代码
Feb 14 Javascript
jquery validate 自定义验证方法介绍 日期验证
Feb 27 Javascript
js实现卡片式项目管理界面UI设计效果
Dec 08 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
Jan 02 Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
微信小程序wx.request的简单封装
Nov 13 Javascript
webpack4从0搭建组件库的实现
Nov 29 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
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
vue项目中使用scss的方法步骤
2019/05/16 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
python中黄金分割法实现方法
2015/05/06 Python
Python实现控制台中的进度条功能代码
2017/12/22 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
python如何建立全零数组
2020/07/19 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
关于环保的建议书400字
2014/03/12 职场文书
学术会议主持词
2014/03/17 职场文书
初中学校对照检查材料
2014/08/19 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫
JavaScript实现简单的音乐播放器
2022/08/14 Javascript