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 相关文章推荐
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
Nov 11 Javascript
js 静态动态成员 and 信息的封装和隐藏
May 29 Javascript
Dom 结点创建 基础知识
Oct 01 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
Apr 12 Javascript
javascript实现2048游戏示例
May 04 Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 Javascript
js实现一键复制功能
Mar 16 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
May 18 Javascript
Vue侧滑菜单组件——DrawerLayout
Dec 18 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
May 10 Javascript
小程序实现投票进度条
Nov 20 Javascript
微信小程序地图绘制线段并且测量(实例代码)
Jan 02 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
php自定义apk安装包实例
2014/10/20 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
原生js实现下拉框选择组件
2021/01/20 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python实现文件分组复制到不同目录的例子
2014/06/04 Python
Python 类的继承实例详解
2017/03/25 Python
Python列表(List)知识点总结
2019/02/18 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
《莫高窟》教学反思
2014/02/25 职场文书
个人贷款担保书
2014/04/01 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
法人委托书
2014/07/31 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
财务人员岗位职责
2015/02/03 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
PL350与SW11的比较
2021/04/22 无线电
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL