javascript读取xml实现javascript分页


Posted in Javascript onDecember 13, 2013
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>读取Xml并分页</title>
</head>
<body >
   <div id="gao">
   </div>
    <div>
       <table align="center">
          <tr>
             <td><input type="button" name="prev" id="prev" value="上一页"  onclick="showPage('false')"><input type="button" id="next" name="next" value="下一页" onclick="showPage('true')"> </td>
          </tr>
       </table>
    </div>
<script type="text/javascript">
     function LoadXML(url)
  {
  var xmlDoc;
  if(window.ActiveXObject)
  { 
     xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
     xmlDoc.async="false";
     xmlDoc.load(url);      
  }else if(document.implementation&&document.implementation.createDocument)
  {
              xmlDoc=document.implementation.createDocument("","",null);
     xmlDoc.async=false;
     xmlDoc.load(url);
  }else
  {
     alert("You browser cannot handle this script!");
  }
  return xmlDoc;
  }

  var xmlDoc=LoadXML("student.xml");
  var students=xmlDoc.getElementsByTagName("student");
  var stuLength=students.length;
  var currentPage=0;
  var pageSize=2;
  var maxPage=Math.ceil(stuLength/pageSize);
  function showPage(page)
  {
  var mytable=document.getElementsByTagName("table")[1];
  if(mytable) document.body.removeChild(mytable); 
  var table=document.createElement("table");
  table.setAttribute("id","mytable");
  table.setAttribute("width","600");
  table.setAttribute("border","1");
     document.body.appendChild(table);
  var header=table.createTHead();
  var headerrow=header.insertRow(0);
     headerrow.insertCell(0).appendChild(document.createTextNode("姓名"));
  headerrow.insertCell(1).appendChild(document.createTextNode("学校"));
  headerrow.insertCell(2).appendChild(document.createTextNode("成绩"))
       if(page=="true")
    currentPage++;
    else
      currentPage--;
    if(currentPage>=maxPage) currentPage=maxPage;
    else if(currentPage<=0) currentPage=1;
    var start=(currentPage-1)*pageSize;
    var end=currentPage*pageSize-1;
    for(var i=start;i<=end;i++)
    {
             var e=students[i];
    var name=e.getAttribute("name");
    var school=e.getElementsByTagName("school")[0].firstChild.data;
    var grade=e.getElementsByTagName("grade")[0].firstChild.data;
    var row=table.insertRow(i%pageSize+1);
    row.insertCell(0).appendChild(document.createTextNode(name));
    row.insertCell(1).appendChild(document.createTextNode(school));
    row.insertCell(2).appendChild(document.createTextNode(school));
    }
    
  }
  showPage("true");
</script>
</body>
</html>

在编写过程过,涉及到代码的处理上,由于我最初,将javascript代码放在了head标签里面,结果导致document.body对象为空!
我们都知道,javascript在执行的时候,页面会暂定加载而去执行html代码,所以当js代码放在head标签中的时候,html页面还没有执行到body,故而产生了错误!
后来将js代码,放在了body的尾部,这样,就能够正确引用到body对象了!
同时,在大型网站架构中,也是提高页面加载速度的一种方式!页面首页加载html标签内容,到页面最后,在执行js代码,能在很大程度上提升网页打开速度,提升用户体验!
另外的student.xml内容是
<?xml version="1.0" encoding="utf-8"?>
<students>
   <student name="gaoxing">
       <school>西北大学1</school>
    <grade>76</grade>
   </student>
   <student name="gaoxing">
       <school>西北大学2</school>
    <grade>76</grade>
   </student>
   <student name="gaoxing">
       <school>西北大3学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大学4</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大5学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大6学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大7学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北8大学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北9大学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北10大学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大学</school>
    <grade>76</grade>
   </student>
      <student name="gaoxing">
       <school>西北大学</school>
    <grade>76</grade>
   </student>
</students>
Javascript 相关文章推荐
面向对象的javascript(笔记)
Oct 06 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
Jan 13 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
jQuery实现带渐显效果的人物多级关系图代码
Oct 16 Javascript
Treegrid的动态加载实例代码
Apr 29 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
老生常谈javascript变量的命名规范和注释
Sep 29 Javascript
Vue.js 2.5新特性介绍(推荐)
Oct 24 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
Dec 14 Javascript
超轻量级的js时间库miment使用解析
Aug 02 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
Sep 21 Javascript
Vue实现点击导航栏当前标签后变色功能
Aug 19 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
Dec 13 #Javascript
javascript分页代码实例分享(js分页)
Dec 13 #Javascript
jquery 操作iframe的几种方法总结
Dec 13 #Javascript
异步动态加载JS并运行(示例代码)
Dec 13 #Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 #Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 #Javascript
jquery如何获取复选框的值
Dec 12 #Javascript
You might like
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
javascript 面向对象的JavaScript类
2010/05/04 Javascript
document.write的几点使用心得
2014/05/14 Javascript
js判断变量初始化的三种形式及推荐用的形式
2014/07/22 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
AngularJS基础 ng-list 指令详解及示例代码
2016/08/02 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
window下eclipse安装python插件教程
2017/04/24 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
C#面试问题
2016/07/29 面试题
优秀应届毕业生自荐信
2013/11/16 职场文书
小学生获奖感言范文
2014/02/02 职场文书
三严三实对照检查材料
2014/08/25 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
会议通知格式范文
2015/04/15 职场文书
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
Redis基本数据类型Set常用操作命令
2022/06/01 Redis