簡(jiǎn)單的分頁(yè)代碼js實(shí)現(xiàn)
先看看效果圖:

簡(jiǎn)單的分頁(yè)js代碼:
1、效果描述:
不用分頁(yè)即可顯示的jQuery插件
jQuery分頁(yè)插件——jQuery.page.js用法很簡(jiǎn)單,效果很棒
2、調(diào)用方法:
$(".tcdPageCode").createPage({
pageCount:10,
current:1,
backFn:function(p){
//單擊回調(diào)方法,p是當(dāng)前頁(yè)碼
}
});
pageCount:總頁(yè)數(shù)
current:當(dāng)前頁(yè)
3、js封裝代碼
//分頁(yè)插件
/**
ch
**/
(function($){
var ms = {
init:function(obj,args){
return (function(){
ms.fillHtml(obj,args);
ms.bindEvent(obj,args);
})();
},
//填充html
fillHtml:function(obj,args){
return (function(){
obj.empty();
//上一頁(yè)
if(args.current > 1){
obj.append('<a href="javascript:;" class="prevPage">上一頁(yè)</a>');
}else{
obj.remove('.prevPage');
obj.append('<span class="disabled">上一頁(yè)</span>');
}
//中間頁(yè)碼
if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
}
if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
obj.append('<span>...</span>');
}
var start = args.current -2,end = args.current+2;
if((start > 1 && args.current < 4)||args.current == 1){
end++;
}
if(args.current > args.pageCount-4 && args.current >= args.pageCount){
start--;
}
for (;start <= end; start++) {
if(start <= args.pageCount && start >= 1){
if(start != args.current){
obj.append('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
}else{
obj.append('<span class="current">'+ start +'</span>');
}
}
}
if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
obj.append('<span>...</span>');
}
if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
}
//下一頁(yè)
if(args.current < args.pageCount){
obj.append('<a href="javascript:;" class="nextPage">下一頁(yè)</a>');
}else{
obj.remove('.nextPage');
obj.append('<span class="disabled">下一頁(yè)</span>');
}
})();
},
//綁定事件
bindEvent:function(obj,args){
return (function(){
obj.on("click","a.tcdNumber",function(){
var current = parseInt($(this).text());
ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current);
}
});
//上一頁(yè)
obj.on("click","a.prevPage",function(){
var current = parseInt(obj.children("span.current").text());
ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current-1);
}
});
//下一頁(yè)
obj.on("click","a.nextPage",function(){
var current = parseInt(obj.children("span.current").text());
ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount});
if(typeof(args.backFn)=="function"){
args.backFn(current+1);
}
});
})();
}
}
$.fn.createPage = function(options){
var args = $.extend({
pageCount : 10,
current : 1,
backFn : function(){}
},options);
ms.init(this,args);
}
})(jQuery);
4、使用demo:
<!DOCTYPE html>
<html lang="zh-cn" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>一個(gè)非常簡(jiǎn)單的jQuery分頁(yè)插件</title>
<style>
*{ margin:0; padding:0; list-style:none;}
a{ text-decoration:none;}
a:hover{ text-decoration:none;}
.tcdPageCode{padding: 15px 20px;text-align: left;color: #ccc;}
.tcdPageCode a{display: inline-block;color: #428bca;display: inline-block;height: 25px; line-height: 25px; padding: 0 10px;border: 1px solid #ddd; margin: 0 2px;border-radius: 4px;vertical-align: middle;}
.tcdPageCode a:hover{text-decoration: none;border: 1px solid #428bca;}
.tcdPageCode span.current{display: inline-block;height: 25px;line-height: 25px;padding: 0 10px;margin: 0 2px;color: #fff;background-color: #428bca; border: 1px solid #428bca;border-radius: 4px;vertical-align: middle;}
.tcdPageCode span.disabled{ display: inline-block;height: 25px;line-height: 25px;padding: 0 10px;margin: 0 2px; color: #bfbfbf;background: #f2f2f2;border: 1px solid #bfbfbf;border-radius: 4px;vertical-align: middle;}
</style>
</head>
<body>
<style>
.baidu_ads{ width:960px; height:90px; position:absolute; left:50%; bottom:0; margin-left:-480px; overflow:hidden;}
</style>
<div class="baidu_ads">
</div>
<span style="display:none;">
</span><!-- 代碼部分begin -->
<div class="tcdPageCode">
</div>
<pre>
調(diào)用方法:
$(".tcdPageCode").createPage({
pageCount:10,
current:1,
backFn:function(p){
//單擊回調(diào)方法,p是當(dāng)前頁(yè)碼
}
});
pageCount:總頁(yè)數(shù)
current:當(dāng)前頁(yè)
</pre>
</body>
<script src="http://www.dhdzp.com/ajaxjs/jquery.min.js"></script>
<script src="http://www.dhdzp.com/ajaxjs/jquery.page.js"></script>
<script>
$(".tcdPageCode").createPage({
pageCount:6,
current:1,
backFn:function(p){
console.log(p);
}
});
</script>
<!-- 代碼部分end -->
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)Javascript有所幫助。
相關(guān)文章
javascript將浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù)的三個(gè)方法
將浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù)方法有很多,本例為大家介紹常用的三個(gè)方法,如果讀者想到其他好用方法,也可以交流一下2014-06-06
JS實(shí)現(xiàn)的簡(jiǎn)單表單驗(yàn)證功能完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)的簡(jiǎn)單表單驗(yàn)證功能,結(jié)合完整實(shí)例形式分析了javascript基于字符串長(zhǎng)度判定、數(shù)據(jù)類(lèi)型判定及正則判斷等操作進(jìn)行表單驗(yàn)證的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10
javascript實(shí)現(xiàn)的柱狀統(tǒng)計(jì)圖表
下面是完成后的預(yù)覽圖,可以看到,繪制一個(gè)表格,耗時(shí)0.005毫秒,也就是200分之一秒。效率我還是比較滿(mǎn)意的!2010-07-07
JavaScript調(diào)試的多個(gè)必備小Tips
這篇文章主要給大家介紹了關(guān)于JavaScript調(diào)試的多個(gè)必備小Tips,文章給出了詳細(xì)的介紹與示例代碼,有需要的朋友們可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)吧。2017-01-01
仿163填寫(xiě)郵件地址自動(dòng)顯示下拉(無(wú)優(yōu)化)
本框內(nèi)填個(gè)1,這些值都寫(xiě)在隱藏域了。代碼里可以看到,用戶(hù)輸入包含在里面的時(shí)候,可以按ENTER鍵選中.2008-11-11
簡(jiǎn)單純js實(shí)現(xiàn)點(diǎn)擊切換TAB標(biāo)簽實(shí)例
選項(xiàng)卡效果代碼,無(wú)jq,JS來(lái)實(shí)現(xiàn),灰色風(fēng)格,沒(méi)有怎么美化,或許看上去比較普通,不過(guò)兼容性和操作起來(lái)挺舒服的,風(fēng)格適用于大部分的網(wǎng)站,或許你會(huì)用得上。2015-08-08
javascript之典型高階函數(shù)應(yīng)用介紹
這幾個(gè)方法均為javascript 1.6 數(shù)組新增的方法。是很典型的functional 函數(shù),當(dāng)然也非常實(shí)用。下面是functional的定義并不來(lái)自javascript2013-01-01
BootStrap Select清除選中的狀態(tài)恢復(fù)默認(rèn)狀態(tài)
PC端項(xiàng)目中經(jīng)常會(huì)出現(xiàn)大量的數(shù)據(jù)列表頁(yè)面,涉及到下拉框選擇篩選條件;當(dāng)時(shí)用到bootstrap-select下拉框時(shí)該如何點(diǎn)擊重置按鈕就清除下拉框的選中狀態(tài)呢?下面通過(guò)本文給大家介紹下,需要的的朋友參考下吧2017-06-06

