ASP 数字分页效果代码_ASP教程-查字典教程网
ASP 数字分页效果代码
ASP 数字分页效果代码
发布时间:2016-12-29 来源:查字典编辑
摘要:最近网站改版正好发现原来的分页不带数字的,只有首页上页下页末页然后是select的跳转,都是以前比较流行的,而现在比较流行的是数字分页在中间...

最近网站改版正好发现原来的分页不带数字的,只有首页 上页 下页 末页 然后是select的跳转,都是以前比较流行的,而现在比较流行的是数字分页在中间,正好研究并分享下,需要的朋友可以参考下

效果:

国外的核心代码:

复制代码 代码如下:

<%

'digg style pagination script in asp.. written by Moazam... http://www.moazam.com/2007/03/30/asp-digg-style-pagination-script/

function getPaginationString(page, totalitems, limit, adjacents, targetpage)

'defaults

if not isnumeric(adjacents) then adjacents = 1 end if

if not isnumeric(limit) then limit = 15 end if

if not isnumeric(page) then page = 1 end if

if targetpage = "" then targetpage = "/" end if

margin = ""

padding=""

'other vars

prev = page - 1'previous page is page - 1

nextPage = page + 1'nextPage page is page + 1

lastpage = Ceil(totalitems , limit)'lastpage is = total items / items per page, rounded up.

lpm1 = lastpage - 1'last page minus 1

'Now we apply our rules and draw the pagination object.

'We're actually saving the code to a variable in case we want to draw it more than once.

pagination = ""

if lastpage > 1 then

pagination = pagination & "<divpagination"""

if margin <> "" OR padding <> "" then

pagination = pagination & ""

if margin <> "" then

pagination = pagination & "margin: margin"

end if

if padding <> "" then

pagination = pagination & "padding: padding"

end if

pagination = pagination & """"

end if

pagination = pagination & ">"

'previous button

if page > 1 then

pagination = pagination & "<a href="""&targetpage&"&page="&prev&""">Prev</a>"

else

pagination = pagination & "<spandisabled"">Prev</span>"

end if

'pages

if lastpage < 7 + (adjacents * 2) then'not enough pages to bother breaking it up

for counter = 1 to lastpage

if counter = page then

pagination = pagination & "<spancurrent"">"&counter&"</span>"

else

pagination = pagination & "<a href="""&targetpage&""&"&page="&counter&""">"&counter&"</a>"

end if

next

elseif lastpage >= 7 + (adjacents * 2) then'enough pages to hide some

'close to beginning only hide later pages

if page < 1 + (adjacents * 3) then

for counter = 1 to (4 + (adjacents * 2))-1

if counter = page then

pagination = pagination & "<spancurrent"">"&counter&"</span>"

else

pagination = pagination & "<a href="""&targetpage&"&page="&counter&""">"&counter&"</a>"

end if

next

pagination = pagination & "..."

pagination = pagination & "<a href="""&targetpage&""&"&page="&lpm1&""">"&lpm1&"</a>"

pagination = pagination & "<a href="""&targetpage&""&"&page="&lastpage&""">"&lastpage&"</a>"

'in middle hide some front and some back

elseif lastpage - (adjacents * 2) > page AND page > (adjacents * 2) then

pagination = pagination & "<a href="""&targetpage&"&page=1"">1</a>"

pagination = pagination & "<a href="""&targetpage&"&page=2"">2</a>"

pagination = pagination & "..."

for counter = (page - adjacents) to (page + adjacents)

if counter = page then

pagination = pagination & "<spancurrent"">"&counter&"</span>"

else

pagination = pagination & "<a href="""&targetpage&"&page="&counter&""">"&counter&"</a>"

end if

next

pagination = pagination & "..."

pagination = pagination & "<a href="""&targetpage&"&page="&lpm1&""">"&lpm1&"</a>"

pagination = pagination & "<a href="""&targetpage&"page="&lastpage&""">"&lastpage&"</a>"

'close to end only hide early pages

else

pagination = pagination & "<a href="""&targetpage&"&page=1"">1</a>"

pagination = pagination & "<a href="""&targetpage&"&page=2"">2</a>"

pagination = pagination & "..."

for counter = (lastpage - (1 + (adjacents * 3))) To lastpage

if counter = page then

pagination = pagination & "<spancurrent"">"&counter&"</span>"

else

pagination = pagination & "<a href="""&targetpage&"&page="&counter&""">"&counter&"</a>"

end if

next

end if

end if

'nextPage button

if page < counter - 1 then

pagination = pagination & "<a href="""&targetpage&"&page="&nextPage&""">Next</a>"

else

pagination = pagination & "<spandisabled"">Next</span>"

end if

pagination = pagination & "</div>" & vbnewline

end if

getPaginationString = pagination

end function

function Ceil( dividend, divider)

if (dividend mod divider) = 0 Then

Ceil = dividend / divider

ELSE

Ceil = Int(dividend / divider) + 1

End if

End function

'test script code

page = 1

if request("page") <> "" then

page=cint(request("page"))

end if

ps = getPaginationString(page, 1500, 15, 2, "pagination.asp?foo=bar")

Response.Write("<br /><br /><br /><br /><br /><br /><br /><br />"&ps)

%>

完整打包代码:pagination(jb51.net).rar

看了有些头晕,还是看点简单的吧,asp与php思想差不多啊,参考了dedecms的修改方法

效果图:

核心代码:

复制代码 代码如下:

ps=cint(pageno)-2

if ps<1 then

ps=1

end if

pe=clng(pageno)+5

if pe>mpage then pe=mpage

for i=ps to pe

if i=pageno then

lb=lb&"<strong>"&i&"</strong>"

else

lb=lb&"<a href=""/list/list_"&theid&"_"&i&".htm"">"&i&"</a>"

end if

next

完整代码:

复制代码 代码如下:

pageno=cint(currentPage)

if cint(pageno)>1 then

lb=lb&"<a href=/list/list_"&theid&"_1.htm title=""首页"">首页</a>"

else

lb=lb&"<a href='#'>首页</a>"

end if

if cint(pageno)>1 and cint(pageno) then

lb=lb&"<a href=/list/list_"&theid&"_"&pageno-1&".htm title=""上页"">上页</a>"

else

lb=lb&"<a href='#'>上页</a>"

end if

ps=cint(pageno)-2

if ps<1 then

ps=1

end if

pe=clng(pageno)+5

if pe>mpage then pe=mpage

for i=ps to pe

if i=pageno then

lb=lb&"<strong>"&i&"</strong>"

else

lb=lb&"<a href=""/list/list_"&theid&"_"&i&".htm"">"&i&"</a>"

end if

next

if cint(pageno)<mpage and mpage>1 then

lb=lb&"<a href=/list/list_"&theid&"_"&pageno+1&".htm title=""下页"">下页</a>"

else

lb=lb&"<a href='#'>下页</a>"

end if

if cint(pageno)< mpage then

lb=lb&"<a href=/list/list_"&theid&"_"&mpage&".htm title=""末页"">末页</a>"

end if

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新ASP教程学习
    热门ASP教程学习
    编程开发子分类