自己动手写的jquery分页控件(非常简单实用)


Posted in Javascript onOctober 28, 2015

最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性不知道怎么没时间测试呢。欢迎有同样需求的小伙伴采用,在使用过程发现有问题欢迎提出批评建议。

 自己动手写的jquery分页控件(非常简单实用)

css:

@charset "utf-";
* {
margin:px;
padding:px;
font-family:"微软雅黑";
font-size:px;
}
._ul {
float:left;
height:px;
display:block;
}
._ul li {
list-style-type:none;
height:px;
width:px;
border:px solid #eee;
cursor:pointer;
text-align:center;
line-height:px;
color:blue;
float:left;
margin: px;
}
._ul li:hover,._before:hover,._after:hover {
border:px solid #f;
background: #ffff;
}

.li-hover {
border:px solid #f;
background: #ffff;
}

._before {
width:px;
height:px;
border:px solid #eee;
float:left;
cursor:pointer;
text-align:center;
line-height:px;
color:blue;
margin: px;
}
._after {
width:px;
height:px;
border:px solid #eee;
float:left;
cursor:pointer;
text-align:center;
line-height:px;
color:blue;
margin: px;
}

.Hidden {
display:none;
}
._select {
border:px solid #fff !important;
color:black !important;
}
._left {
float:left;
margin-left:px;
}
._right {
float:right;
margin-right:px;
}

js:

; (function ($, window, document, undefined) {
var isShow = function (ele,options) {
this.$element = ele,
this.defaults = {
maxpage: ,
count: ,
total: ,
float: 'right',
margin:'px',
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 = ; i <= count ; i++) {
strHtml += "<li data-index='"+(i==?'frist':i==count?'last':'middle')+"' class='"+(i==?'_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 / ;
var curr = _this.$element.find("li");
if (count <= _index) {
$(curr).show();
} else {
var ftemp = ,ltemp=;
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);

以上内容是小编给大家分享的自己动手写的jquery分页控件(非常简单实用),希望对大家有所帮助。

Javascript 相关文章推荐
document对象execCommand的command参数介绍
Aug 01 Javascript
AngularJS入门教程之路由与多视图详解
Aug 19 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
js和jquery中获取非行间样式
May 05 jQuery
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
详解使用webpack构建多页面应用
Dec 21 Javascript
微信小程序项目实践之验证码倒计时功能
Jul 18 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
Feb 21 Javascript
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
vue elementui el-form rules动态验证的实例代码详解
May 23 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
Openlayers3实现车辆轨迹回放功能
Sep 29 Javascript
Jquery日历插件制作简单日历
Oct 28 #Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 #Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 #Javascript
JavaScript多并发问题如何处理
Oct 28 #Javascript
JS实现双击屏幕滚动效果代码
Oct 28 #Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 #Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 #Javascript
You might like
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
ext 代码生成器
2009/08/07 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
React.js入门实例教程之创建hello world 的5种方式
2016/05/11 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
Python中的sort()方法使用基础教程
2017/01/08 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
python sqlite的Row对象操作示例
2019/09/11 Python
django实现用户注册实例讲解
2019/10/30 Python
python求质数列表的例子
2019/11/24 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
大学班级干部的自我评价分享
2014/02/10 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
大学运动会加油稿
2015/07/22 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python