九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
長文章分頁一點思路 - 后臺數(shù)據(jù)庫編程 - 經典論壇
如何將長長的一篇文章分成幾頁顯示?最簡單也最完美的辦法是人為的告訴程序哪邊要分頁,并做上相應的分頁標識,但是這樣無疑加大了錄入員的工作量;另一種辦法是程序自動進行分頁,比如按字數(shù)每頁顯示多少個字,但這邊要注意的問題是不能截斷HTML、UBB等代碼,大家可根據(jù)需要選擇一種方式。還有一點要說明的是讀取方式,很多人都是顯示新一頁時從數(shù)據(jù)庫重新讀取內容,而我的思路是一次讀取將不同頁內容保存于一個數(shù)組中再利用腳本動態(tài)更新,有人又要說了,這樣不便于搜索引擎收錄,大家還是根據(jù)需要選擇,呵呵。
一、人為做分頁標識
為了方便使用,我寫成了一個函數(shù)mySplit,使用時拷貝一下調用就可以了
1.多次讀取
[Copy to clipboard]
CODE:
‘函數(shù)名稱:mySplit
‘編寫:Dnawo(http://www.mzwu.com/)
‘功能說明:按分頁標識mark分幾頁顯示內容content,有分頁列表
‘參數(shù)說明:
‘content:內容
‘mark:分頁標識
‘page:當前頁數(shù)
‘調用格式:Call mySplit("aaa{!page}bbb{!page}ccc","{!page}",request("page"))
Sub mySplit(content,mark,page)
If Instr(content,mark)=0 then
Response.write content
Exit Sub
End if
Dim strContent,i
If isempty(page)="" then page=0
page = Cint(page)
strContent = Split(content,mark)
Response.write strContent(page) & vbcrlf
Response.write "<div id=""mzwucom_list"" style=""text-align:center"">"
If page>0 then Response.write "<input type=""button"" value=""上一頁"" onclick=""javascript:document.location.href=‘?page=" & page-1 & "‘;""> "
For i=0 to Ubound(strContent)
Response.write "<a href=""?page=" & i & """>" & i+1 & "</a> "
Next
If page<Ubound(strContent) then Response.write "<input type=""button"" value=""下一頁"" onclick=""javascript:document.location.href=‘?page=" & page+1 & "‘;"">"
Response.write "</div>"
End Sub
2.一次讀取
[Copy to clipboard]
CODE:
‘函數(shù)名稱:mySplit
‘編寫:Dnawo(http://www.mzwu.com/)
‘功能說明:按分頁標識mark分幾頁顯示內容content,有分頁列表
‘參數(shù)說明:
‘content:內容
‘mark:分頁標識
‘調用格式:Response.write mySplit("aaa{!page}bbb{!page}ccc","{!page}")
Function mySplit(content,mark)
mySplit = mySplit + "<div id=""mzwucom_content""></div>" & vbcrlf
mySplit = mySplit + "<div id=""mzwucom_list"" style=""text-align:center""></div>" & vbcrlf
mySplit = mySplit + "<script language=""javascript"">" & vbcrlf
mySplit = mySplit + "function showpage(n){" & vbcrlf
mySplit = mySplit + "    i = n;" & vbcrlf
mySplit = mySplit + "    var list = """";//存放列表" & vbcrlf
mySplit = mySplit + "    if(n>0){list = ""<input type=‘button‘ value=‘上一頁‘ onclick=‘javascript:showpage("" + (i-1) + "");‘> "";}" & vbcrlf
mySplit = mySplit + "    document.getElementById(""mzwucom_content"").innerHTML = content[n];" & vbcrlf
mySplit = mySplit + "    for(var j=0;j<content.length;j++){" & vbcrlf
mySplit = mySplit + "        list += ""<a href=‘javascript:showpage("" + j + "");‘>"" + (j+1) + ""</a> "";" & vbcrlf
mySplit = mySplit + "    }" & vbcrlf
mySplit = mySplit + "    if(i<count){list += ""<input type=‘button‘ value=‘下一頁‘ onclick=‘javascript:showpage("" + (i+1) + "");‘>"";}" & vbcrlf
mySplit = mySplit + "    if(count != 0){document.getElementById(""mzwucom_list"").innerHTML = list;}" & vbcrlf
mySplit = mySplit + "}" & vbcrlf
mySplit = mySplit + "var i = 0;//存放當前頁數(shù)" & vbcrlf
mySplit = mySplit + "var count;//存放數(shù)組長度" & vbcrlf
mySplit = mySplit + "var content = new Array(""" & Replace(content,mark,""",""") & """);//用數(shù)組存放各頁內容" & vbcrlf
mySplit = mySplit + "count = content.length-1;" & vbcrlf
mySplit = mySplit + "showpage(0);//初始化" & vbcrlf
mySplit = mySplit + "</script>" & vbcrlf
End Function
二、程序自動分頁
程序自動進行分頁,網上查了相關資料,用得最多的方法不外乎三種:第一種按每頁顯示多少字進行分頁,不考慮是否會截斷HTML、UBB標記,這種方法最不可??;第二種方法按每頁顯示多少行進行分頁,但實際上我們并不會給每行都加上<br>,所以這種方法也不可??;第三種方法先設 pagesize 為基本頁長,先找到這個基本頁長,從這里出發(fā),再去找 “<p>” 或 “<br>” 這樣的分段符號,找到后,記下它的位置和從起始位置到它有多少個字符,下一頁,從這個分段符出發(fā),再找基本頁,再尋分段符,記錄位置和長度。。就這樣循環(huán),到文章結束,此法最為可取,下邊函數(shù)基本參數(shù)了此法,但做了一些改進,是從基本頁長位置向前向后找<br>和<p>,采取就近原則,用最近的位置做為分頁點,函數(shù)代碼如下:
[Copy to clipboard]
CODE:
‘函數(shù)名稱:MarkContent
‘編寫:Dnawo(http://www.mzwu.com/)
‘功能說明:按每頁顯示iCount字進行分頁,在分頁處插入分頁標識符,再配合mySplit函數(shù)進行分頁。實際每頁字數(shù)約等于iCount
‘參數(shù)說明:
‘strContent:要進行分頁的內容
‘iStart:開始位置
‘iCount:每頁總字符數(shù)
Function MarkContent(strContent,iStart,iCount)
MarkContent = strContent
If Len(Right(MarkContent,Len(MarkContent)-iStart+1))<=iCount then
Exit Function
Else
‘聲明一些常量變量
Const strMark = "{!page}"
Dim strTemp,arr(4),iLen,iStartb,strLeft,strRight,i
iLen = Len(strMark)
‘將原字符串拆分
strTemp = Left(MarkContent,iStart-1)
MarkContent = Right(MarkContent,Len(MarkContent)-iStart+1)
‘判斷iCount位置是不是處于<p>或<br>上并進行相應處理
If mid(MarkContent,iCount,1)=">" then iCount = iCount + 1
If mid(MarkContent,iCount,2)="p>" then iCount = iCount + 2
If mid(MarkContent,iCount,2)="r>" then iCount = iCount + 2
If mid(MarkContent,iCount,3)="br>" then iCount = iCount + 3
If mid(MarkContent,iCount,3)="<p>" then iCount = iCount + 3
If mid(MarkContent,iCount,4)="<br>" then iCount = iCount + 4
‘從iCount位置往前往后找<p>和<br>,采取就近原則,在離iCount最近的位置進行分頁
arr(0) = InstrRev(MarkContent,"<br>",iCount,1)
arr(1) = InstrRev(MarkContent,"<p>",iCount,1)
arr(2) = Instr(iCount,MarkContent,"<br>",1)
arr(3) = Instr(iCount,MarkContent,"<p>",1)
arr(4) = 0
If arr(0)<>0 and arr(4)=0 then
arr(4) = abs(arr(0)-iStart)
iStartb = arr(0) + 4
Elseif arr(0)<>0 and abs(arr(0)-iStart) < arr(4) then
arr(4) = abs(arr(0)-iStart)
iStartb = arr(0) + 4
End if
If arr(1)<>0 and arr(4)=0 then
arr(4) = abs(arr(1)-iStart)
iStartb = arr(1) + 3
Elseif arr(1)<>0 and abs(arr(1)-iStart) < arr(4) then
arr(4) = abs(arr(1)-iStart)
iStartb = arr(1) + 3
End if
If arr(2)<>0 and arr(4)=0 then
arr(4) = abs(arr(2)-iStart)
iStartb = arr(2) + 4
Elseif arr(2)<>0 and abs(arr(2)-iStart) < arr(4) then
arr(4) = abs(arr(2)-iStart)
iStartb = arr(2) + 4
End if
If arr(3)<>0 and arr(4)=0 then
arr(4) = abs(arr(3)-iStart)
iStartb = arr(3) + 3
Elseif arr(3)<>0 and abs(arr(3)-iStart) < arr(4) then
arr(4) = abs(arr(3)-iStart)
iStartb = arr(3) + 3
End if
If arr(4)=0 then
MarkContent = strTemp & MarkContent
Else
strLeft = Left(MarkContent,iStartb-1)
strRight = Right(MarkContent,Len(MarkContent)-iStartb+1)
MarkContent = strTemp & strLeft & strMark & strRight
iStartb = iStartb + iLen + iStart - 1
‘遞歸
MarkContent = MarkContent(MarkContent,iStartb,iCount)
End if
End if
End Function
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java版本的二分法算法實現(xiàn) - 24小時學習網
Extjs中PagingToolbar的使用
一步一步理解線段樹
PHP二維數(shù)組的矩陣轉置
在ASP中改善動態(tài)分頁的性能
分享原生JavaScript技巧大收集(1~10)
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服