自己写的简单的jQuery分页控件

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

因为是内部项目,需要分页控件,网上找了一大堆,给领导一看,都说不行,原因很简单,太复杂,领导就想要个简单点的,类似百度的分页,可是自己也没写过Jquery控件,硬着头皮找了些资料,写了这个分页控件,目前只在Chrome测试,其他的兼容性不知道, 总算也会自己写插件了, 虽然很烂,但好歹也是进步啊,附上图片,源码,也许有人也有同样的需求可以用得到,欢迎指正,批评!!

CSS:

@charset "utf-8";

* {

margin:0px;

padding:0px;

font-family:"微软雅黑";

font-size:14px;

}

._ul {

float:left;

height:38px;

display:block;

}

._ul li {

list-style-type:none;

height:36px;

width:36px;

border:1px solid #e1e2e3;

cursor:pointer;

text-align:center;

line-height:36px;

color:blue;

float:left;

margin:0 3px;

}

._ul li:hover,._before:hover,._after:hover {

border:1px solid #38f;

background: #f2f8ff;

}

.li-hover {

border:1px solid #38f;

background: #f2f8ff;

}

._before {

width:86px;

height:36px;

border:1px solid #e1e2e3;

float:left;

cursor:pointer;

text-align:center;

line-height:36px;

color:blue;

margin:0 3px;

}

._after {

width:86px;

height:36px;

border:1px solid #e1e2e3;

float:left;

cursor:pointer;

text-align:center;

line-height:36px;

color:blue;

margin:0 3px;

}

.Hidden {

display:none;

}

._select {

border:1px solid #fff !important;

color:black !important;

}

._left {

float:left;

margin-left:200px;

}

._right {

float:right;

margin-right:200px;

}

js:

; (function ($, window, document, undefined) {

var isShow = function (ele,options) {

this.$element = ele,

this.defaults = {

maxpage: 10,

count: 0,

total: 0,

float: 'right',

margin:'200px',

getData:null

},

this.options = $.extend({}, this.defaults, options)

}

isShow.PRototype={

showDiv:function(){

this.bindEvent();

},

showHtml:function(){

var _this = this, strHtml = "",count=Math.ceil(_this.options.total / _this.options.count);

strHtml += "<div class='"+(_this.options.float=='right'?'_right':'_left')+"'><div class='_before Hidden'><上一页</div><ul class='_ul'>";

for (var i = 1; i <= count ; i++) {

strHtml += "<li data-index='"+(i==1?'frist':i==count?'last':'middle')+"' class='"+(i==1?'_select':'')+" "+(i>_this.options.maxpage?'Hidden':'')+"'>"+i+"</li>";

}

strHtml += "</ul><div class='_after'>下一页></div></div>";

_this.$element.append(strHtml);

},

MoveIndex:function(index){

var _this = this, _index = this.options.maxpage, count = Math.ceil(_this.options.total / _this.options.count);

var middle = _index / 2;

var curr = _this.$element.find("li");

if (count <= _index) {

$(curr).show();

} else {

var ftemp = 0,ltemp=0;

if (index < middle)

ftemp = (middle - index);

if (middle > count - index)

ltemp=(middle-(count-index));

$(curr).each(function () {

var currindex = parseInt($(this).text());

if (currindex > index - middle-ltemp && currindex <= parseInt(index) + parseInt(middle)+ftemp) {

$(this).show();

} else {

$(this).hide();

}

});

}

},

WhichFind:function(status,_index){

var _this=this;

switch (status) {

case 'frist':

_this.$element.find("._before").hide();

_this.$element.find("._after").show();

break;

case 'last':

_this.$element.find("._after").hide();

_this.$element.find("._before").show();

break;

case 'middle':

_this.$element.find("div").show();

break;

}

_this.MoveIndex(_index);

_this.options.getData({ index: _index });

},

bindEvent:function(){

var _this = this;

_this.showHtml();

_this.$element.find("li").click(function () {

var status = $(this).data("index"), _index = $(this).text();

$(this).addClass("_select").siblings().removeClass("_select");

_this.WhichFind(status,_index);

});

_this.$element.find("._before").click(function () {

var status = $("._select").prev().data("index"), _index = $("._select").prev().text();

$("._select").prev().addClass("_select").siblings().removeClass("_select");

_this.WhichFind(status,_index);

});

_this.$element.find("._after").click(function () {

var status = $("._select").next().data("index"), _index = $("._select").next().text();

$("._select").next().addClass("_select").siblings().removeClass("_select");

_this.WhichFind(status,_index);

});

}

}

$.fn.FY = function (option) {

var fs = new isShow(this, option);

return fs.showDiv();

}

})(jQuery,window,document);

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航