一款不錯的jQuery分頁外掛--pagination
一、前言:
分頁功能在專案中時常用到,一款可以快速實現分頁功能的外掛非常有必要,pagination--這款外掛功能非常完美,幾乎我所有專案中使用到分頁的地方都會第一時間考慮到這個外掛,但是其實有能力的同學最好還是使用原生的JS或者JQuery來開發分頁功能,畢竟外掛很多原始碼比較複雜,也並不是所有功能都做到盡善盡美,僅僅是提供一個方便而已。
二、具體使用方法:
(1)第一步,匯入jquery和pagination.js
<script src="jquery.js"></script>
<script src="jquery.pagination.js"></script>
(2)第二步,HTML程式碼:
非常簡單隻需要一個div標籤
<div class="M-box"></div>
(3)第三步, JS程式碼:
$('.M-box').pagination({
pageCount:50,
jump:true,
coping:true,
homePage:'首頁',
endPage:'末頁',
prevContent:'上頁',
nextContent:'下頁'
});
如圖所示:
三、核心引數方法
使用方法是:
$('.M-box').pagination({option})
option的引數如下:
pageCount | 9 | 總頁數 |
totalData | 0 | 資料總條數 |
current | 1 | 當前第幾頁 |
showData | 0 | 每頁顯示的條數 |
prevCls | 'prev' | 上一頁class |
nextCls | 'next' | 下一頁class |
prevContent | '<' | 上一頁節點內容 |
nextContent | '>' | 下一頁節點內容 |
activeCls | 'active' | 當前頁選中狀態class名 |
count | 3 | 當前選中頁前後頁數 |
coping | false | 是否開啟首頁和末頁,值為boolean |
isHide | false | 總頁數為0或1時隱藏分頁控制元件 |
keepShowPN |
false | 是否一直顯示上一頁下一頁 |
homePage | '' | 首頁節點內容,預設為空 |
endPage | '' | 尾頁節點內容,預設為空 |
jump | false | 是否開啟跳轉到指定頁數,值為boolean型別 |
jumpIptCls | 'jump-ipt' | 文字框內容 |
jumpBtnCls | 'jump-btn' | 跳轉按鈕class |
jumpBtn | '跳轉' | 跳轉按鈕文字內容 |
callback | function(){} | 回撥函式,引數"index"為當前頁 |
其中回撥函式是最核心的引數,即點選分頁的數字按鈕時所執行的操作,回撥函式中有一個引數叫api
callback:function(api){
//回撥函式。。。
}
該api介面的方法有如下:
方法 引數 說明
getPageCount() 無 獲取總頁數
setPageCount(page) page:頁數 設定總頁數
getCurrent() 無 獲取當前頁
filling() 無 填充資料,引數為頁數
四、AJAX動態分頁
其實做分頁最主要的就是通過AJAX來動態獲取資料後進行分頁顯示,我們要明白的是,為什麼分頁??
首頁,因為資料庫的資料是不可估量的,如果某一個系統的資料庫資料有幾千條甚至幾萬條,難道一個網頁要把全部的資料都全部的展示出來嗎??那肯定是不合理的,因為這非常消耗系統記憶體和網路頻寬,我們肯定都是在AJAX請求資料時,傳入了要顯示的條數和頁數,伺服器在根據條數和頁數返回資料給我們,比如我們要顯示10條資料,顯示第一頁的內容,那伺服器就相應的把該條件下的資料傳回給我們,僅僅10條,這對於資料庫和網頁顯示來說毫無壓力。所以這就有了分頁功能的出現。如果有50條資料,每頁只顯示10條資料,那理所當然的就是有5頁了,那問題又來了,難道這個分頁怎麼知道我每個頁數需要顯示什麼內容呢???是我全部載入資料後平均分配到每一頁10條資料,然後依次顯示下去嗎??當然不是,我每當點選頁數按鈕的時候都要去載入資料,重新發起AJAX請求到伺服器,然後返回資料給我們,那我們就大概知道怎麼使用這個分頁功能了!!
(1).首頁,你得知道你分頁按鈕上需要顯示幾頁嗎??例如5頁的話就是5個按鈕。
所以首先必須使用AJAX請求得到所有資料的長度是多少,例如: 總共50條資料,我需要每頁顯示10條資料,當前 顯示第一頁的資料。
$.ajax({
url:...
type:"post",
data:{
rows: 10 //我把行數傳回給伺服器中
page:1 //顯示第一頁的資料
}
success:function(data){
//data.length 就是資料的長度 ,也就是上面的10,具體引數名看你們伺服器的返回叫什麼
//data.count 是資料的總長度,也就是50,具體引數名看你們伺服器的返回叫什麼
}
})
(2).然後我在success方法中寫入pagination的方法進行分頁
$.ajax({
url:...
type:"post",
data:{
rows: 10 //我把行數傳回給伺服器中
page:1 //顯示第一頁的資料
}
success:function(data){
//獲取總條數
var sumCount=data.count;
//獲取返回的條數
var count=data.length;
//重要的一步來了,需要獲取我們按鈕的個數,也就是分多少頁,需要總條數除以返回數在向上取整
var pageCount=Math.ceil(sumCount/count); //這裡50除以10等於5,所以一共有5頁
$('.M-box').pagination({
pageCount:pageCount, //總頁數
coping:true,//是否開啟首頁和尾頁
homePage:'首頁',
endPage:'末頁',
prevContent:'上頁',
nextContent:'下頁',
current:1, //當前第幾頁
callback:function(api){ //按鈕、回撥函式
}
});
}
})
(3).現在最最關鍵的來了,就是分頁中的回撥函式的操作,也就是點選按鈕需要做什麼??上面第四點中分析到,點選按鈕需要重新發起AJAX請求,需要把顯示條數和當前的頁數傳回給伺服器
$.ajax({
url:...
type:"post",
data:{
rows: 10 //我把行數傳回給伺服器中
page:1 //顯示第一頁的資料
}
success:function(data){
//獲取總條數
var sumCount=data.count;
//獲取返回的條數
var count=data.length;
//獲取分頁數
var pageCount=Math.ceil(sumCount/count); //這裡50除以10等於5,所以一共有5頁
$('.M-box').pagination({
pageCount:pageCount, //總頁數
coping:true,//是否開啟首頁和尾頁
homePage:'首頁',
endPage:'末頁',
prevContent:'上頁',
nextContent:'下頁',
current:1, //當前第幾頁
callback:function(api){ //按鈕、回撥函式
//再次發起AJAX請求
$.ajax({
url:...
type:"post",
data:{
rows: 10, //依然顯示10條資料
page: api.getCurrent()// 非常關鍵的一步,這裡就要用到api介面的方法中獲取當前頁
的方法了,比如我點選第二頁,當前頁就是2,點選第三頁,
當前頁就是3,
}
success:function(data){
//ajax成功後的回撥。。。
}
})
}
});
}
})
以上基本的一個流程就是這樣。具體一些api方法和引數可以去試試。
一個很主要的流程就是,首先要發起ajax得到總條數和返回的條數然後在success回撥中使用pagination的方法,在callback回撥中再次發起ajax,就是為了點選分頁按鈕再次顯示資料。
推薦pagination外掛下載地址:http://download.csdn.net/detail/baidu_25343343/9822636
相關推薦
一款不錯的jQuery分頁外掛--pagination
一、前言: 分頁功能在專案中時常用到,一款可以快速實現分頁功能的外掛非常有必要,pagination--這款外掛功能非常完美,幾乎我所有專案中使用到分頁的地方都會第一時間考慮到這個外掛,但是其實有能力
一、jq前端分頁外掛pagination使用
前端採用pagination分頁外掛,後端用ssm框架。 下載jquery.pagination.js. normalize.css pagination.css 其中 pagination.css修改你想要的樣式
Jquery 分頁外掛, 帶你一步一步接入後臺資料
目錄 一、效果圖 二、分頁 js 原始碼講解 三、分頁樣式 css 原始碼 三、實現前後臺對接 一、效果圖 二、分頁 js 原始碼講解 新建一個 js 檔案,基本直接複製貼上就行,記得引入到需要的頁面中。 需要注意的是: 前面的建構函式
jQuery-paginatin 帶css樣式不錯的分頁外掛
一、前言 分頁功能在專案中時常用到,一款可以快速實現分頁功能的外掛非常有必要,pagination–這款外掛功能非常完美,幾乎我所有專案中使用到分頁的地方都會第一時間考慮到這個外掛,但是其實有能力的同學最好還是使用原生的JS或者JQuery來開發分頁功能,畢竟
前端小結2--jQuery分頁外掛JPaginate的詳細使用
前端小結2–jQuery分頁外掛JPaginate的詳細使用 java web開發中,後臺分頁後,前端需要分頁按鈕來顯示。 這裡介紹幾個好用的jQuery分頁外掛:http://www.jq22.com/jquery-info34 對前端搞的少,之前都是jsp,ajax實在是
Spring Boot系列教程十一: Mybatis使用分頁外掛PageHelper
一.前言 上篇部落格中介紹了spring boot整合mybatis的方法,基於上篇文章這裡主要介紹如何使用分頁外掛PageHelper。在MyBatis中提供了攔截器介面,我們可以使用PageHelp最為一個外掛裝入到SqlSessionFactory,實現攔截器功能。
ajax非同步分頁外掛pagination詳解
<script type="text/javascript"> if(window.name){ // 重新整理獲取頁碼 } $('.M-page').pagination
JQuery分頁外掛使用心得
在修改別人的後臺程式碼的時候發現其使用的一款分頁外掛,於是看了其原始碼學習了一下,並將使用的心得整理了一下。 - 外掛的原始碼如下: (function($, window, document) { // 定義建構函式 function
前端分頁外掛pagination
ajax請求每頁資料,根據返回資料生成頁碼<link href="~/Scripts/pagination/pagination.css" rel="stylesheet" /> <script src="~/Scripts/pagination/pagin
一款不錯的JS日期外掛 Mobiscroll
$(function () { var currYear = (new Date()).getFullYear(); var opt={}; opt.date = {preset : 'date'};
一個簡單易懂且實用的JQuery分頁外掛(jquery.page)(詳解)
在你的.html檔案中引入相關的檔案: 注意:jquery.min.js需在你引入jquery.page.js之前引入。 <link rel="stylesheet" type="text/c
一款基於jQuery的分頁插件
rec 構建 col .cn pager function ret cti alert 特別提示:本人博客部分有參考網絡其他博客,但均是本人親手編寫過並驗證通過。如發現博客有錯誤,請及時提出以免誤導其他人,謝謝!歡迎轉載,但記得標明文章出處:http://www.cnbl
jquery pagination js分頁外掛的運用
<script src="common/jquery.js" type="text/javascript"></script><script src="common/jquery.pagination.js" type="text/javascript"></scri
分享幾款基於bootstrap和jquery的分頁外掛
1.第一款 jquery.pagination 定製修改版 地址:http://hooray.github.io/jquery.pagination/ github地址:https://github.com/hooray/jquery.pagination 2
jquery pagination多樣式分頁外掛程式碼
@charset "UTF-8"; /*ccs-1*/ .whj_jqueryPaginationCss-1{ display: inline-block; padding: 5px; user-select: none; -webkit-
jQuery 分頁插件(jQuery.pagination.js)ajax 實現分頁
height var 實現 before 狀態 pin 好的 調用 是否 首先需要引入jQuery 再次需要引入 <script src="jquery/jquery.pagination.js"></script>同時也要引入 <link r
分頁外掛jquery.simplePagination.js使用筆記
1. test_box.jsp頁面: <script type="text/javascript" src="${ctxJs}/jquery-1.7.2.min.js"></script> <script src="${ctxJs}/jquery.simpl
使用pagination分頁外掛實現ajax分頁
1.html頁面引入jq和js外掛 <script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <s
angular的tm-pagination分頁外掛一個頁面使用多個分頁的問題
很多分頁外掛在一個頁面中使用多個的時候都會出現一些問題(據說的,我還沒有什麼經驗),當然我在使用tm-pagination的時候也沒有跳過這個坑,先上個pagination最基礎的使用。其中有幾點需要注意的地方 1.外掛有兩個關鍵引數currentPage、itemsPerPage,當前頁碼和每
AJAX template-web.js (模板引擎) jquery.twbsPagination.js (分頁外掛) 的使用
模板引擎 分頁外掛 1.概念 模板引擎不屬於特定技術領域,它是跨領域跨平臺的概念。在Asp下有模板引擎,在PHP下也有模板引擎,在C#下也有,甚至JavaScript、WinForm開發都會用到模板引擎技術。 2.原理 置換型模板引擎實現簡單,但其效率低下,