導航:首頁 > 源碼編譯 > js分頁演算法

js分頁演算法

發布時間:2022-07-15 12:23:21

⑴ js的分頁原理以及實現步驟是什麼

主要是借鑒了網上一個例子,修改了一些小地方,前端分頁的技巧,表格的數據是已經寫好了,可以前端渲染表格然後再分頁,都是可以的。

其實分頁最關鍵是這兩句:

var startRow = (currentPage - 1) * pageSize+1; //currentPage 為當前頁,pageSize為每頁顯示的數據量
var endRow = currentPage * pageSize;

找到我們需要顯示的行的范圍(starRow~endRow)

ps:這里在跳轉的時候遇到了一個小BUG,就是獲取到的select的value值是string類型的,比如獲取到了1,然後你想再加1的時候就會變成"11" 而不是我們想要的"2",所以這里需要用parseInt( )來轉換一下,小細節需要注意呀!!!

效果圖:


[javascript] view plain print?

⑵ JS如何控制分頁

//js獲取url上的參數

function getParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
}

var page = getParam('page');

⑶ JS分頁代碼

純粹的JS可以分頁,但是起不到分頁真正的效果.分頁是為了根據需要分段查詢數據表記錄,減輕資料庫壓力,提高查詢速度.用純JS做分業,還是要一次把所有數據查出,然後在頁面上通過DOM對象屬性做虛假的分頁.是沒有什麼意義的.

⑷ js 分頁問題。根據頁面高度進行分頁

⑸ 怎樣用JS實現網站分頁,得到JS代碼後如何使用

你是要ajax?建議用ajax的框架,假如你是用java的 ajaxanywhere是個比較好的框架。net直接拖就行了。。純粹的js的分頁那有什麼意義?數據不分頁的話,數據都讀到頁面上了,你伺服器內存不會溢出嗎

⑹ 如何用JS將數據在頁面上分頁顯示出來

在servlet的service()方法中只需進行如下操作:

PageControl pageCtl = yourBusinessObject.listData(req.getParameter("jumpPage"));
req.setAttribute("pageCtl",pageCtl);

說明:yourBusinessObject封裝了商業邏輯,是位於Business Logic Layer中的一個對象,運用OOAD的方法,封裝商業對象,在Persistent Layer之上組建堅實的Business Logic Layer同樣是構建大型電子商務架構的關鍵所在。本文的關注點只是分頁處理,暫不詳細論述.

在每個想要實現翻頁顯示數據的jsp頁面中,我們的工作也很簡單,其代碼是公式化的:

<jsp:useBean id="pageCtl" class="yourpackage.PageControl" scope="request"></jsp:useBean>
<%if(pageCtl.maxPage!=1)){%>
<form name="PageForm" action="/servlet/yourpackage.yourservlet" method="post">
<%@ include file="/yourpath/pageman.jsp"%>
</form>
<%}%>

說明:

if(pageCtl.maxPage!=1)實現了這樣一個邏輯:如果所取得數據不足一頁,那麼就不用進行翻頁顯示。

我們注意到<%@ include file="/yourpath/pageman.jsp"%>這使得真正的翻頁部分完全得到了重用.

那麼pageman.jsp到底做了些什麼呢?它實現了經常做翻頁處理的人耳熟能詳的邏輯
(A)第一頁時不能再向前翻;
(B)最後一頁時不能再向後翻;
同時能夠進行頁面任意跳轉,具體代碼如下:

每頁<%=pageCtl.rowsPerPage%>行
共<%=pageCtl.maxRowCount%>行
第<%=pageCtl.curPage%>頁
共<%=pageCtl.maxPage%>頁
<BR>
<%if(pageCtl.curPage==1){ out.print(" 首頁 上一頁"); }else{ %>
<A HREF="javascript:gotoPage(1)">首頁</A>
<A HREF="javascript:gotoPage(<%=pageCtl.curPage-1%>)">上一頁</A>
<%}%>
<%if(pageCtl.curPage==pageCtl.maxPage){ out.print("下一頁 尾頁"); }else{ %>
<A HREF="javascript:gotoPage(<%=pageCtl.curPage+1%>)">下一頁</A>
<A HREF="javascript:gotoPage(<%=pageCtl.maxPage%>)">尾頁</A>
<%}%>
轉到第<SELECT name="jumpPage" onchange="Jumping()">
<% for(int i=1;i<=pageCtl.maxPage;i++) {
if (i== pageCtl.curPage){
%>
<OPTION selected value=<%=i%>><%=i%></OPTION>
<%}else{%>
<OPTION value=<%=i%>><%=i%></OPTION>
<%}}%>
</SELECT>頁


最後附上用於頁面跳轉的javascript公共函數:

function Jumping(){
document.PageForm.submit();
return ;
}
function gotoPage(pagenum){
document.PageForm.jumpPage.value = pagenum;
document.PageForm.submit();
return ;
}


運行效果:

⑺ JS分頁 處理的問題

你的代碼是前6頁,後6頁
要修改成為10頁是什麼意思?
是前十頁後十頁?那麼把6改為10
如果總頁數為十頁,那就是前五頁後五頁,把6改成5就好
if
(pageNum
<
15)
{//這個是小於15頁時
for
(var
i
=
0;
i
<
6;
i++)
{//前6頁
for
(var
i
=
pageNum
-
6;
i
<
pageNum
-
1;
i++)
{//後6頁
修改6為你想要的對應的頁數就可以了

⑻ 在mvc4.0中怎麼用js實現分頁技術

MVC項目中有的時候List的條數比較多,需要分頁顯示,可以用如下的辦法:
1、寫一個簡單PaginatedList 輔助類:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

public class PaginatedList<T> : List<T> {
public int PageIndex { get; private set; }
public int PageSize { get; private set; }
public int TotalCount { get; private set; }
public int TotalPages { get; private set; }
public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize) {
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = source.Count();
TotalPages = (int) Math.Ceiling(TotalCount / (double)PageSize);
this.AddRange(source.Skip(PageIndex * PageSize).Take(PageSize));
}
public bool HasPreviousPage {
get {
return (PageIndex > 0);
}
}
public bool HasNextPage {
get {
return (PageIndex+1 < TotalPages);
}
}
}

2、Controller中使用這個PaginatedList 類來返回View:

1
2
3
4
5
6

public ActionResult Index(int? page) {
const int pageSize = 10;
var upcomingDinners = dinnerRepository.FindUpcomingDinners();
var paginatedDinners = new PaginatedList<Dinner>(upcomingDinners, page ?? 0,pageSize);
return View(paginatedDinners);
}

3、View中實現導航鏈接的Code如下:

1
2
3
4
5
6
7
8

<% if (Model.HasPreviousPage) { %>
<%= Html.RouteLink("<<<", "UpcomingDinners", new { page =
(Model.PageIndex-1) }) %>
<% } %>
<% if (Model.HasNextPage) { %>
<%= Html.RouteLink(">>>", "UpcomingDinners", new { page = (Model.PageIndex +
1) }) %>
<% } %>

閱讀全文

與js分頁演算法相關的資料

熱點內容
oracle命令窗口 瀏覽:980
51單片機開發板應用演示 瀏覽:488
編譯程序利用子函數計算 瀏覽:997
編譯terminated 瀏覽:982
1u伺服器如何才能靜音 瀏覽:211
用python寫登陸介面 瀏覽:555
程序員必讀書籍活著 瀏覽:703
怎麼降級到安卓10 瀏覽:616
在電腦上編譯的文本程序怎麼運行 瀏覽:120
大學程序員改行 瀏覽:111
機器人編程的十大難題 瀏覽:475
伺服器ip地址變後eweb未授權 瀏覽:715
javalist元素位置 瀏覽:789
python符號混用 瀏覽:901
怎麼連接根伺服器 瀏覽:815
杭州汽車解壓 瀏覽:927
把瀏覽器文件夾都刪了 瀏覽:547
虛榮伺服器卡怎麼回事 瀏覽:256
ps如何壓縮png 瀏覽:307
元史編譯說明 瀏覽:265