[JS源码]超长文章自动分页(客户端版)

 更新时间:2007年01月09日 00:00:00   作者:  

复制代码 代码如下:
<!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=""> 
<style> 
* { 
font-size:10.2pt; 
font-family:tahoma; 
line-height:150%; 

.divContent 

border:1px solid red; 
background-color:#FFD2D3; 
width:500px; 
word-break:break-all; 
margin:10px 0px 10px; 
padding:10px; 

</style> 
</HEAD> 
<BODY> 
header 
<div id="divPagenation"></div> 
<div id="divContent"></div> 
footer 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
s="<p>女老师竭力向孩子们证明,学习好功课的重要性。 </p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。” </p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。” </p><p>女老师竭力向孩子们证明,学习好功课的重要性。 </p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。” </p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。” </p><p>女老师竭力向孩子们证明,学习好功课的重要性。 </p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。” </p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。” </p><p>女老师竭力向孩子们证明,学习好功课的重要性。 </p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。” </p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。” </p><p>女老师竭力向孩子们证明,学习好功课的重要性。 </p><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。” </p><p>“班上一个调皮鬼对此并不满意。他说:“兴许是这样,可是,假如他坐在学校里,埋头书本,那他就什么也发现不了啦。” </p>"; 

// 封装DHTMLpagenation 

function DHTMLpagenation(content) { with (this) 

  // client static html file pagenation 
  // Scipit by blueDestiny,never-online, www.never-online.net 

  this.content=content; // 内容 
  this.contentLength=content.length; // 内容长度 
  this.pageSizeCount; // 总页数 
  this.perpageLength=100; //default perpage byte length. 
  this.currentPage=1; // 起始页为第1页 
  //this.regularExp=/.+[\?\&]{1}page=(\d+)/; 
  this.regularExp=/\d+/; // 建立正则表达式,匹配数字型字符串。 

  this.divDisplayContent; 
  this.contentStyle=null; 
  this.strDisplayContent=""; 
  this.divDisplayPagenation; 
  this.strDisplayPagenation=""; 

  // 把第二个参数赋给perpageLength; 
  arguments.length==2?perpageLength=arguments[1]:''; 

  try { 
    divExecuteTime=document.createElement("DIV"); 
    document.body.appendChild(divExecuteTime); 
  } 
  catch(e) 
  { 
  } 

  // 得到divPagenation容器。 
  if(document.getElementById("divPagenation")) 
  { 
    divDisplayPagenation=document.getElementById("divPagenation"); 
  } 
  else 
  { 
    try 
    { 
      divDisplayPagenation=document.createElement("DIV"); 
      divDisplayPagenation.id="divPagenation"; 
      document.body.appendChild(divDisplayPagenation); 
    } 
    catch(e) 
    { 
      return false; 
    } 
  } 

  // 得到divContent容器 
  if(document.getElementById("divContent")) 
  { 
    divDisplayContent=document.getElementById("divContent"); 
  } 
  else 
  { 
    try 
    { 
      divDisplayContent=document.createElement("DIV"); 
      divDisplayContent.id="divContent"; 
      document.body.appendChild(divDisplayContent); 
    } 
    catch(e) 
    { 
      return false; 
    } 
  } 

  DHTMLpagenation.initialize(); 
  return this; 

}}; 

//初始化分页; 
//包括把加入CSS,检查是否需要分页 
DHTMLpagenation.initialize=function() { with (this) 

  divDisplayContent.className=contentStyle!=null?contentStyle:"divContent"; 
  if(contentLength<=perpageLength) 
  { 
    strDisplayContent=content; 
    divDisplayContent.innerHTML=strDisplayContent; 
    return null; 
  } 

  pageSizeCount=Math.ceil((contentLength/perpageLength)); 

  DHTMLpagenation.goto(currentPage); 
  DHTMLpagenation.displayContent(); 
}}; 

//显示分页栏 
DHTMLpagenation.displayPage=function() { with (this) 

  strDisplayPagenation="分页:"; 

  if(currentPage&&currentPage!=1) 
    strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.previous()">上一页</a>&nbsp;&nbsp;'; 
  else 
    strDisplayPagenation+="上一页&nbsp;&nbsp;"; 

  for(var i=1;i<=pageSizeCount;i++) 
  { 
    if(i!=currentPage) 
      strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.goto('+i+');">'+i+'</a>&nbsp;&nbsp;'; 
    else 
      strDisplayPagenation+=i+"&nbsp;&nbsp;"; 
  } 

  if(currentPage&&currentPage!=pageSizeCount) 
    strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.next()">下一页</a>&nbsp;&nbsp;'; 
  else 
    strDisplayPagenation+="下一页&nbsp;&nbsp;"; 

  strDisplayPagenation+="共 " + pageSizeCount + " 页,每页" + perpageLength + " 字符,调整字符数:<input type='text' value='"+perpageLength+"' id='ctlPerpageLength'><input type='button' value='确定' onclick='DHTMLpagenation.change(document.getElementById(\"ctlPerpageLength\").value);'>"; 

  divDisplayPagenation.innerHTML=strDisplayPagenation; 
}}; 
//上一页 
DHTMLpagenation.previous=function() { with(this) 

  DHTMLpagenation.goto(currentPage-1); 
}}; 
//下一页 
DHTMLpagenation.next=function() { with(this) 

  DHTMLpagenation.goto(currentPage+1); 
}}; 
//跳转至某一页 
DHTMLpagenation.goto=function(iCurrentPage) { with (this) 

  startime=new Date(); 
  if(regularExp.test(iCurrentPage)) 
  { 
    currentPage=iCurrentPage; 
    strDisplayContent=content.substr((currentPage-1)*perpageLength,perpageLength); 
  } 
  else 
  { 
    alert("page parameter error!"); 
  } 
  DHTMLpagenation.displayPage(); 
  DHTMLpagenation.displayContent(); 
}}; 
//显示当前页内容 
DHTMLpagenation.displayContent=function() { with (this) 

  divDisplayContent.innerHTML=strDisplayContent; 
}}; 
//改变每页的字节数 
DHTMLpagenation.change=function(iPerpageLength) { with(this) 

  if(regularExp.test(iPerpageLength)) 
  { 
    DHTMLpagenation.perpageLength=iPerpageLength; 
    DHTMLpagenation.currentPage=1; 
    DHTMLpagenation.initialize(); 
  } 
  else 
  { 
    alert("请输入数字"); 
  } 
}}; 

// 接口API 
// DHTMLpagenation(strContent[,perpageLength]) 

DHTMLpagenation(s,100); 

// Power By blueDestiny,never-online 
//--> 
</SCRIPT> 
</BODY> 
</HTML>

相关文章

  • javascript 使td内容不换行不撑开

    javascript 使td内容不换行不撑开

    javascript 使td内容不换行不撑开如何实现,本文将详细介绍,需要了解的朋友可以参考下
    2012-11-11
  • JavaScript闭包与作用域链实例分析

    JavaScript闭包与作用域链实例分析

    这篇文章主要介绍了JavaScript闭包与作用域链,结合实例形式分析了javascript闭包的具体概念、功能、并对比作用域链分析了闭包的相关使用技巧与注意事项,需要的朋友可以参考下
    2019-01-01
  • javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法

    javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法

    这篇文章主要介绍了javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法,涉及javascript鼠标事件及页面元素样式操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 微信小程序输入多行文本的实战记录

    微信小程序输入多行文本的实战记录

    多行输入框组件是原生组件,这篇文章主要给大家介绍了关于微信小程序输入多行文本的相关资料,文中通过实例代码介绍的介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • js中的this作用域全解析

    js中的this作用域全解析

    这篇文章主要介绍了js中的this作用域全解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • js数组的基本用法及数组根据下标(数值或字符)移除元素

    js数组的基本用法及数组根据下标(数值或字符)移除元素

    js数组的用法包括创建、取值赋值、添加以及根据下标(数值或字符)移除元素等等,在本文将为大家详细介绍下,感兴趣的朋友可以参考下
    2013-10-10
  • JavaScript 小型打飞机游戏实现原理说明

    JavaScript 小型打飞机游戏实现原理说明

    这次为大家带来的小游戏是:打飞机。呃。。。我本人就写不出什么惊天大作的游戏的了,只能写写小游戏,代码量小,又可以学习,主要是想法思路,代码量大,估计也没啥人会去研究学习。。。
    2010-10-10
  • 深入了解Hybrid App技术的相关知识

    深入了解Hybrid App技术的相关知识

    这篇文章主要介绍了深入了解Hybrid App技术的相关知识,Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具" Native App良好用户交互体验的优势 "和" Web App跨平台开发的优势 ",需要的朋友可以参考下
    2019-07-07
  • js对象继承之原型链继承实例

    js对象继承之原型链继承实例

    这篇文章主要介绍了js对象继承之原型链继承,以实例形式分析了原型链继承的实现方法与注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Js四则运算函数代码

    Js四则运算函数代码

    javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果
    2012-07-07

最新评论