1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>页面分页</title>
  5. <style type="text/css">
  6. *
  7. {
  8. font-size: 10.2pt;
  9. font-family: tahoma;
  10. line-height: 150%;
  11. }
  12. .divContent
  13. {
  14. border: 1px solid red;
  15. background-color: #FFD2D3;
  16. width: 500px;
  17. word-break: break-all;
  18. margin: 10px 0px 10px;
  19. padding: 10px;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24.  
  25. <h1>标题</h1>
  26. <div id="divPagenation">
  27. </div>
  28. <div id="divContent">
  29. </div>
  30.  
  31. <script type="text/javascript">
  32.  
  33. s="<p>女老师竭力向孩子们证明,学习好功课的重要性。 </p><img src='/login/image/password.png' /><p>她说:“牛顿坐在树下,眼睛盯着树在思考,这时,<img src='/login/image/password3.png' />有一个苹果落在他的头上,于是他发现了万有引力定律,孩子们,你们想想看,做一位伟大的科学家多么好,多么神气啊,要想做到这一点,就必须好好学习。” </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>";
  34.  
  35. //对img标签进行匹配
  36. var imgReg = /(<img\s+src='\S+'\s*(\/)?>)/gi;
  37. matchContent = s.match(imgReg);
  38. imgContent = s;
  39. if(imgReg.test(s))
  40. {
  41. //将img标签替换为*
  42. imgContent = s.replace(imgReg,"*");
  43. }
  44.  
  45. // 封装DHTMLpagenation
  46. function DHTMLpagenation(content)
  47. {
  48.  
  49. this.content=content; // 内容
  50. this.contentLength=imgContent.length; // 内容长度
  51. this.pageSizeCount; // 总页数
  52. this.perpageLength= 100; //default perpage byte length.
  53. this.currentPage=1; // 起始页为第1页
  54. //this.regularExp=/.+[\?\&]{1}page=(\d+)/;
  55. this.regularExp=/\d+/; // 建立正则表达式,匹配数字型字符串。
  56.  
  57. this.divDisplayContent;
  58. this.contentStyle=null;
  59. this.strDisplayContent="";
  60. this.divDisplayPagenation;
  61. this.strDisplayPagenation="";
  62.  
  63. // 把第二个参数赋给perpageLength;
  64. arguments.length==2 ? perpageLength = arguments[1] : '';
  65.  
  66. try {
  67. //创建要显示的DIV
  68. divExecuteTime=document.createElement("DIV");
  69. document.body.appendChild(divExecuteTime);
  70. }
  71. catch(e)
  72. {
  73. }
  74.  
  75. // 得到divPagenation容器。
  76. if(document.getElementById("divPagenation"))
  77. {
  78. divDisplayPagenation=document.getElementById("divPagenation");
  79. }
  80. else
  81. {
  82. try
  83. {
  84. //创建分页信息
  85. divDisplayPagenation=document.createElement("DIV");
  86. divDisplayPagenation.id="divPagenation";
  87. document.body.appendChild(divDisplayPagenation);
  88. }
  89. catch(e)
  90. {
  91. return false;
  92. }
  93. }
  94.  
  95. // 得到divContent容器
  96. if(document.getElementById("divContent"))
  97. {
  98. divDisplayContent=document.getElementById("divContent");
  99. }
  100. else
  101. {
  102. try
  103. {
  104. //创建每页显示内容的消息的DIV
  105. divDisplayContent=document.createElement("DIV");
  106. divDisplayContent.id="divContent";
  107. document.body.appendChild(divDisplayContent);
  108. }
  109. catch(e)
  110. {
  111. return false;
  112. }
  113. }
  114.  
  115. DHTMLpagenation.initialize();
  116. return this;
  117.  
  118. };
  119.  
  120. //初始化分页;
  121. //包括把加入CSS,检查是否需要分页
  122. DHTMLpagenation.initialize=function()
  123. {
  124.  
  125. divDisplayContent.className= contentStyle != null ? contentStyle : "divContent";
  126.  
  127. if(contentLength<=perpageLength)
  128. {
  129. strDisplayContent=content;
  130. divDisplayContent.innerHTML=strDisplayContent;
  131. return null;
  132. }
  133.  
  134. pageSizeCount=Math.ceil((contentLength/perpageLength));
  135.  
  136. DHTMLpagenation.goto(currentPage);
  137.  
  138. DHTMLpagenation.displayContent();
  139. };
  140.  
  141. //显示分页栏
  142. DHTMLpagenation.displayPage=function()
  143. {
  144.  
  145. strDisplayPagenation="分页:";
  146.  
  147. if(currentPage && currentPage !=1)
  148. {
  149. strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.previous()">上一页</a> ';
  150. }
  151. else
  152. {
  153. strDisplayPagenation+="上一页 ";
  154. }
  155.  
  156. for(var i=1;i<=pageSizeCount;i++)
  157. {
  158. if(i!=currentPage)
  159. {
  160. strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.goto('+i+');">'+i+'</a> ';
  161. }
  162. else
  163. {
  164. strDisplayPagenation+=i+" ";
  165. }
  166. }
  167.  
  168. if(currentPage && currentPage!=pageSizeCount)
  169. {
  170. strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.next()">下一页</a> ';
  171. }
  172. else
  173. {
  174. strDisplayPagenation+="下一页 ";
  175. }
  176.  
  177. strDisplayPagenation+="共 " + pageSizeCount + " 页,每页" + perpageLength + " 字符,调整字符数:<input type='text' value='"+perpageLength+"' id='ctlPerpageLength' /><input type='button' value='确定' onclick='DHTMLpagenation.change()' />";
  178.  
  179. divDisplayPagenation.innerHTML=strDisplayPagenation;
  180.  
  181. };
  182.  
  183. //上一页
  184. DHTMLpagenation.previous=function()
  185. {
  186. DHTMLpagenation.goto(currentPage-1);
  187. };
  188.  
  189. //下一页
  190. DHTMLpagenation.next=function()
  191. {
  192.  
  193. DHTMLpagenation.goto(currentPage+1);
  194. };
  195.  
  196. //跳转至某一页
  197. DHTMLpagenation.goto=function(iCurrentPage)
  198. {
  199. startime=new Date();
  200. if(regularExp.test(iCurrentPage))
  201. {
  202. currentPage=iCurrentPage;
  203.  
  204. var tempContent = "";
  205.  
  206. //获取当前的内容 里面包含 *
  207. var currentContent = imgContent.substr((currentPage-1)*perpageLength,perpageLength);
  208.  
  209. tempContent = currentContent;
  210.  
  211. //当前页是否有 * 获取最后一个 * 的位置
  212. var indexOf = currentContent.indexOf("*");
  213.  
  214. if(indexOf >= 0)
  215. {
  216. //获取从开始位置到当前页位置的内容
  217. var beginToEndContent = imgContent.substr(0,currentPage*perpageLength);
  218.  
  219. //获取开始到当前页位置的内容 中的 * 的最后的下标
  220. var reCount = beginToEndContent.split("*").length - 1;
  221.  
  222. var contentArray = currentContent.split("*");
  223.  
  224. tempContent = replaceStr(contentArray,reCount,matchContent);
  225.  
  226. }
  227. // else
  228. // {
  229. // tempContent=imgContent.substr((currentPage-1)*perpageLength,perpageLength);
  230. // }
  231.  
  232. strDisplayContent=tempContent;
  233. }
  234. else
  235. {
  236. alert("页面参数错误");
  237. }
  238. DHTMLpagenation.displayPage();
  239. DHTMLpagenation.displayContent();
  240. };
  241. //显示当前页内容
  242. DHTMLpagenation.displayContent=function()
  243. {
  244. divDisplayContent.innerHTML=strDisplayContent;
  245. };
  246.  
  247. //改变每页的字节数
  248. DHTMLpagenation.change=function()
  249. {
  250.  
  251. var iPerpageLength = document.getElementById("ctlPerpageLength").value;
  252. if(regularExp.test(iPerpageLength))
  253. {
  254.  
  255. // DHTMLpagenation.perpageLength=iPerpageLength;
  256. // DHTMLpagenation.currentPage=1;
  257. // DHTMLpagenation.initialize();
  258.  
  259. DHTMLpagenation(s,iPerpageLength);
  260. }
  261. else
  262. {
  263. alert("请输入数字");
  264. }
  265. };
  266.  
  267. /* currentArray:当前页以 * 分割后的数组
  268. replaceCount:从开始内容到当前页的内容 * 的个数
  269. matchArray : img标签的匹配的内容
  270. */
  271. function replaceStr(currentArray,replaceCount,matchArray)
  272. {
  273.  
  274. var result = "";
  275. for(var i=currentArray.length -1,j = replaceCount-1 ;i>=1; i--)
  276. {
  277.  
  278. var temp = (matchArray[j] + currentArray[i]);
  279.  
  280. result = temp + result;
  281.  
  282. j--;
  283. }
  284.  
  285. result = currentArray[0] + result ;
  286.  
  287. return result;
  288. }
  289.  
  290. DHTMLpagenation(s,100);
  291.  
  292. </script>
  293.  
  294. </body>
  295. </html>

效果图:

js 将很长的内容进行页面分页显示的更多相关文章

  1. 多页的TIFF图片在aspx页面分页显示

    一.逻辑实现:将数据库中的二进制TIFF图片读出并分页显示在页面上. 1.显示界面 public FrameDimension MyGuid; ; ; public static MemoryStre ...

  2. JSP页面分页显示数据

    效果如上图所示!最多显示10条:完整jsp和后台代码如下: <%@ page contentType="text/html;charset=UTF-8" %> < ...

  3. 在easyui-tabs中的href或 content的多种条件下的不同页面内容和页面地址的赋值?

    $('#tt').tabs('add', {.....});中 的 加载内容, 可以用content, 或用 href都是可以的. 虽然它们加载 的方式不一样, 但是 只要是加载进去后, 加载成功后, ...

  4. 如果内容很长ueditor编辑辑器怎么出现滚动条

    在开发网站的时候,有的页面需要加载ueditor编辑器,如果内容很长,默认设置的时候编辑器会根据内容拉长,而不是页面出现滚动条,如果拖动页面滚条,会比较麻烦,要拖动很长才能看到提交按钮. 如何才能让编 ...

  5. 转载一篇比较详细的讲解html,css的一篇文章,很长

      转载自这里,转载请注明出处. DIV+CSS系统学习笔记回顾   第一部分 HTML 第一章 职业规划和前景 职业方向规划定位: web前端开发工程师 web网站架构师 自己创业 转岗管理或其他 ...

  6. 解决使用vue打包时vendor文件过大或者是app.js文件很大的问题

    这篇文章主要介绍了使用vue打包时vendor文件过大或者是app.js文件很大问题的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 第一次使用vue2.0开发,之前都是用的angu ...

  7. 页面滚动显示或隐藏元素Headroom.js插件帮助你实现滚动效果

    Headroom.js 是什么? Headroom.js 是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应.此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航 ...

  8. 专访黄勇:Java在未来的很长一段时间仍是主流(把老板当情人,把同事当小孩,把客户当病人)

    url:http://www.csdn.net/article/2015-09-06/2825621 2015-09-06 13:18 摘要:本文采访了现任阿里巴巴公司系统架构师黄勇,从事近十年的Ja ...

  9. ZK中使用JS读取客户端txt文件内容问题

    最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流 ...

随机推荐

  1. scipy优化器optimizer

    #optimazer优化器 from scipy.optimize import minimize def rosem(x): return sum(100.0*(x[1:]-x[:-1])**2.0 ...

  2. __add__运行过程

  3. BZOJ3420[POI2013]Triumphal arch&BZOJ5174[Jsoi2013]哈利波特与死亡圣器——树形DP+二分答案

    题目大意: 给一颗树,1号节点已经被染黑,其余是白的,两个人轮流操作,一开始B在1号节点,A选择k个点染黑,然后B走一步,如果B能走到A没染的节点则B胜,否则当A染完全部的点时,A胜.求能让A获胜的最 ...

  4. MT【232】展开式中的系数

    $(1+x+x^2+\cdots+x^{100})^3$展开式中$x^{150}$前的系数为_____ 解答:$(1+x+x^2+\cdots+x^{100})^3=(1-x^{101})^3\sum ...

  5. FFT/NTT总结+洛谷P3803 【模板】多项式乘法(FFT)(FFT/NTT)

    前言 众所周知,这两个东西都是用来算多项式乘法的. 对于这种常人思维难以理解的东西,就少些理解,多背板子吧! 因此只总结一下思路和代码,什么概念和推式子就靠巨佬们吧 推荐自为风月马前卒巨佬的概念和定理 ...

  6. LOJ #2802. 「CCC 2018」平衡树(整除分块 + dp)

    题面 LOJ #2802. 「CCC 2018」平衡树 题面有点难看...请认真阅读理解题意. 转化后就是,给你一个数 \(N\) ,每次选择一个 \(k \in [2, N]\) 将 \(N\) 变 ...

  7. Python的双向链表实现

    思路 链表由节点组成,先规定节点(Node),包含data和指向下个节点的next 初始化 data当然就是传入的data了,next和prev指向None 添加 分两种情况: 链表为空,那么头节点和 ...

  8. 【BZOJ1879】[SDOI2009]Bill的挑战(动态规划)

    [BZOJ1879][SDOI2009]Bill的挑战(动态规划) 题面 BZOJ 洛谷 题解 本来还想着容斥来着,这个数据范围直接暴力就好.设\(f[i][S]\)表示当前填到了第\(i\)位,和\ ...

  9. 打开SharePoint 2013 web application显示iis 欢迎页面

    当我打开SP web application时,页面显示如下: 查看event log,发现有一些8315-8317之类的error,发现把request management service停掉后, ...

  10. gcc编译器命令使用详解

    1.gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译 ...