::梦溪苑博客::

 Asp长文章自动分页

于 2008-07-27 15:31:19 发表  ASP技术  浏览( )  评论( )  收藏这篇日志

Asp长文章自动分页,在做博客的时候网友提到要这个功能于是我花了点时间写出了下面的内容:分vbscript和javascript两个部分.

 1、文章篇幅过长,自动分页生成静态。
 '==============================================================
 '解析自动分页(AS_Theme.ASP)
 '==============================================================
 Public Function AutoSplit(shtml,lnum)
   Dim returns,num,i,arr,arri,AutoPageStr,ReHtml
  if instr(shtml,"[NextPage]")>0 Then
   arr=split(shtml,"[NextPage]")
   num=ubound(arr)
   For i=0 to num
    if trim(arr(i))<>"" Then
     IF i=0 then
      arri= "<div id=""Autopage0"" style=""display:block;"">" &vbcrlf
     Else
      arri= "<div id=""Autopage"&i&""" style=""display:none;"">" &vbcrlf
     End IF
     arri= arri & arr(i) &vbcrlf
     arri= arri & "</div>"&vbcrlf
     AutoPageStr = AutoPageStr &"<span> <a href=""javascript:void(0)"" onclick=""AutoPage("&i&","&num&")"">第 " &i 1&"页</a> </span>"
     ReHtml= ReHtml&arri
    End IF
   Next
   returns= ReHtml &"<div id=""AotuPageContent""></div>"& AutoPageStr
  Else
   Dim len_t,parts,start
   lnum =Cint(lnum)
   len_t=len(shtml)
   if len_t<lnum*1.1 Then
    returns=shtml
   Else
    parts=Cint(len_t/lnum)
    For i=0 to parts
     start=Cint(lnum*i)
     if start=0 Then start=1
     returns= returns & mid(shtml,start,lnum) & "[NextPage]"&vbcrlf
    Next
   End IF
   returns=AutoSplit(returns,lnum)
  End IF
  AutoSplit=returns
 End FUnction
 '-----------------------------
 //AS_Public.js)
 <script>
 function AutoPage(currentPage,AllPage){
  document.getElementById("Autopage0").style.display='none';
  document.getElementById("AotuPageContent").innerHTML="";
  document.getElementById("AotuPageContent").innerHTML=document.getElementById("Autopage" currentPage).innerHTML;
 }
 </script>

正在读取日志的评论数据,请稍后……
正在加载日志评论签写框,请稍后……
成员登录通道
正在载入成员登录通道...
BLOG 日历助手
正在载入日历助手...
BLOG 统计信息
正在载入统计信息...
BLOG 日志归档
BLOG 最新评论
{$SideComment}
BLOG 最新留言
{$SideGB}
BLOG 站内搜索

BLOG 友情链接