分享非常好用的前端分頁js工具類 靈活 簡單易懂

来源:http://www.cnblogs.com/weitaming/archive/2017/09/28/7605249.html
-Advertisement-
Play Games

分享自己封裝的前端分頁js工具類 下麵是預設樣式效果截圖 可以隨意更改js及css 很靈活 說明: ...


分享自己封裝的前端分頁js工具類  下麵是預設樣式效果截圖

可以隨意更改js及css 很靈活

 1 /**

 

 2 * pageSize,  每頁顯示數
 3 * pageIndex, 當前頁數  
 4 * pageCount  總頁數
 5 * url  連接地址
 6 * pager(10, 1, 5, 'Index')使用方法示例
 7 */
 8 function pager(pageSize, pageIndex, pageCount, url) {
 9     var intPage = 7;  //數字顯示
10     var intBeginPage = 0;//開始的頁數
11     var intEndPage = 0;//結束的頁數
12     var intCrossPage = parseInt(intPage / 2); //顯示的數字
13 
14     var strPage = "<div class='fr'><span class='pageinfo'>第 <font color='#FF0000'>" + pageIndex + "/" + pageCount + "</font> 頁 每頁 <font color='#FF0000'>" + pageSize + "</font> 條</span>";
15 
16     if (pageIndex > 1) {
17         strPage = strPage + "<a class='pageNav' onclick='" + url + "(1," + pageSize + ")'><span>首頁</span></a> ";
18         strPage = strPage + "<a class='pageNav' onclick='" + url + "(" + (pageIndex - 1) + "," + pageSize + ")'><span>上一頁</span></a> ";
19     }
20     if (pageCount > intPage) {//總頁數大於在頁面顯示的頁數
21 
22         if (pageIndex > pageCount - intCrossPage) {//當前頁數>總頁數-3
23             intBeginPage = pageCount - intPage + 1;
24             intEndPage = pageCount;
25         }
26         else {
27             if (pageIndex <= intPage - intCrossPage) {
28                 intBeginPage = 1;
29                 intEndPage = intPage;
30             }
31             else {
32                 intBeginPage = pageIndex - intCrossPage;
33                 intEndPage = pageIndex + intCrossPage;
34             }
35         }
36     } else {
37         intBeginPage = 1;
38         intEndPage = pageCount;
39     }
40 
41     if (pageCount > 0) {
42         for (var i = intBeginPage; i <= intEndPage; i++) {
43             {
44                 if (i == pageIndex) {//當前頁
45                     strPage = strPage + " <a class='current' href='javascript:void(0);'>" + i + "</a> ";
46                 }
47                 else {
48                     strPage = strPage + " <a class='pageNav' onclick='" + url + "(" + i + "," + pageSize + ")' title='第" + i + "頁'>" + i + "</a> ";
49                 }
50             }
51         }
52     }
53 
54 
55     if (pageIndex < pageCount) {
56         strPage = strPage + "<a class='pageNav' onclick='" + url + "(" + (pageIndex + 1) + "," + pageSize + ")'><span>下一頁</span></a> ";
57         strPage = strPage + "<a class='pageNav' onclick='" + url + "(" + pageCount + "," + pageSize + ")'><span>尾頁</span></a> ";
58     }
59     return strPage+"</div>";
60 
61 }

1 <div class="paging">
2             <div id="dvPager" class="page fr clearfix" style="margin: 10px 0 15px;"></div>
3         </div>
 a{color:#000;text-decoration:none;}
  .clearfix:after {clear: both;content: ".";display: block;font-size: 0;height: 0;line-height: 0;visibility: hidden;}
  .fr{float:none;}
  .page a{padding:6px 12px;border:1px solid #ddd;float:left;margin-left:-1px;color:#006dae;text-align:center;}
  .page a:hover{background:#ddd;}
  .page a.current{background:#006dae;color:#fff;border:1px solid #006dae;cursor: default;}
  .page .first{margin-right:10px;}
  .pageinfo{margin-left:10px;padding:6px 12px;border:1px solid #ddd;float:left;color:#006dae;text-align:center;}
下麵是調用示例 ↓
 1 function loadData(pageIndex,pageSize){
 2       $.ajax({
 3             contentType:"application/json;charset=utf-8", 
 4               url:'?pageNum='+pageIndex+'&pageSize='+pageSize,
 5               type:"POST",
 6               dataType:"json",
 7               success:function(result){
 8                 if(null != result){
 9                  
10                     )
11                     var beginIndex = (pageIndex - 1) * pageSize;
12                     var endIndex = pageIndex * pageSize - 1;
13                     var pageCount = parseInt((result.totalRecords / pageSize)) + (result.totalRecords % pageSize ? 1 : 0);
14                     $('#dvPager').html(pager(pageSize, pageIndex, pageCount, 'loadData'));
15117             }
18     });
19  } 

說明:

pager(pageSize, pageIndex, pageCount, 'XXX')該方法 最後傳入的參數XXX 是調用js方法的名稱





您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本來應一個可愛帥氣的編輯之邀,要寫一本書《靜兒的互聯網服務治理私房菜》。想選服務治理的題材,想急著簽協議就寫了一個很匆忙的目錄和例章。寫書本是計划了很久的一件事情。現在反而有些猶豫了。我是不是應該把腳步放慢一些,再穩一些。我是不是應該自己先寫了一部分,再考慮簽約出版的事情。要做的事情太多了,比如:家 ...
  • 原文地址: http://michael-j.net/2017/09/24/%E7%BC%96%E7%A8%8B%E5%BF%83%E6%99%BA-%E4%B8%80-%E2%80%94%E2%80%94%E4%BB%A3%E7%A0%81%E6%9E%B6%E6%9E%84%E4%B8%8E%E ...
  • 1.什麼是UML狀態圖 UML狀態圖是描述類對象可能經歷的所有狀態的模型圖,描述了對象基於事件反應的動態行為。顯示實體根據當時的狀態做出具體的動作。 2.UML類圖的作用。 UML類圖的作用是研究類對象,角色,子系統或者其他組件之間的實時行為。 3.UML狀態圖的繪製 3.1 狀態圖的模型組成元素 ...
  • 面向對象編程就是將你的需求抽象成一個對象,針對這個對象分析其特征(屬性)和動作(方法),這個對象稱為“類”。JavaScript 的核心是支持面向對象的,同時它也提供了強大靈活的 OOP 語言能力,遺憾的是對於JavaScript這種解釋性的弱類型語言,沒有強類型語言中那種通過class等關鍵字實現... ...
  • 接著上文[js高手之路] html5 canvas系列教程 - 狀態詳解(save與restore),相信大家都應該玩過美顏功能,而我們今天要講的就是canvas強大的像素處理能力,通過像素處理,實現反色,黑白,亮度,復古,蒙版,透明等美顏效果. getImageData:獲取一張圖片的像素數據 c ...
  • android的一個報錯 解決: 問題是在/android/app/src/java/.../MainApplication.java的getPackages()中重覆引用了某個package,刪除掉重覆內容即可 新版中添加notifyJSDidLoad方法報錯 1. 如果不設平臺,在ios里會報 ...
  • 第一次在Vue中應用,swiper在在Vue之前引用會無效,需要在實例化Vue對象後再實例化Swiper才能產生效果 ...
  • 前一陣七夕前夕搞了一個微信活動,共用男女友,時間緊任務重,記得當時是周三提的需求,那就抓緊搞起來,後來會有一個生成圖片的功能,遇到了一些坎,下麵分析下技術點,用到的就是canvas的toDataURL()方法,可是生成圖片的時候,需要取微信授權後的用戶頭像和昵稱,調試了一番頭像的圖片總是概率性的不顯 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...