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 相关文章推荐
ext前台接收action传过来的json数据示例
Jun 17 Javascript
js绘制圆形和矩形的方法
Aug 05 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
jQuery实现简洁的轮播图效果实例
Sep 07 Javascript
JS实现复制功能
Mar 01 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
JS 数组随机洗牌的实例代码
Sep 12 Javascript
vue里面使用mui的弹出日期选择插件实例
Sep 16 Javascript
Vue实现浏览器打印功能的代码
Apr 17 Javascript
详解vue中v-on事件监听指令的基本用法
Jul 22 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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
优化使用mysql存储session的php代码
2008/01/10 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
yii2安装详细流程
2018/05/23 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python实现将xml导入至excel
2015/11/20 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
公司晚会主持词
2014/03/22 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS