導航:首頁 > 源碼編譯 > 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分頁演算法相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:577
python員工信息登記表 瀏覽:375
高中美術pdf 瀏覽:158
java實現排列 瀏覽:511
javavector的用法 瀏覽:980
osi實現加密的三層 瀏覽:230
大眾寶來原廠中控如何安裝app 瀏覽:912
linux內核根文件系統 瀏覽:241
3d的命令面板不見了 瀏覽:524
武漢理工大學伺服器ip地址 瀏覽:147
亞馬遜雲伺服器登錄 瀏覽:523
安卓手機如何進行文件處理 瀏覽:70
mysql執行系統命令 瀏覽:929
php支持curlhttps 瀏覽:142
新預演算法責任 瀏覽:443
伺服器如何處理5萬人同時在線 瀏覽:249
哈夫曼編碼數據壓縮 瀏覽:424
鎖定伺服器是什麼意思 瀏覽:383
場景檢測演算法 瀏覽:616
解壓手機軟體觸屏 瀏覽:348