分享非常好用的前端分頁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
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...