1. 程式人生 > >一款不錯的jQuery分頁外掛--pagination

一款不錯的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.原理 置換型模板引擎實現簡單,但其效率低下,