自己动手写的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 相关文章推荐
JavaScript 自动完成脚本整理(33个)
Oct 20 Javascript
JQuery 确定css方框模型(盒模型Box Model)
Jan 22 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
Jun 16 Javascript
JS字符串的切分用法实例
Feb 22 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
angular 动态组件类型详解(四种组件类型)
Feb 22 Javascript
JS实现含有中文字符串的友好截取功能分析
Mar 13 Javascript
Vue.js实战之Vuex的入门教程
Apr 01 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
JS+Canvas绘制动态时钟效果
Nov 10 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获取中英混合字符串长度的方法
2014/06/07 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
python 七种邮件内容发送方法实例
2014/04/22 Python
tornado 多进程模式解析
2018/01/15 Python
有关Python的22个编程技巧
2018/08/29 Python
python实现自动化上线脚本的示例
2019/07/01 Python
flask应用部署到服务器的方法
2019/07/12 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
tensorflow的计算图总结
2020/01/12 Python
python生成并处理uuid的实现方式
2020/03/03 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
会计自我鉴定范文
2013/10/06 职场文书
工作说明书范文
2014/05/07 职场文书
科技节口号
2014/06/19 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python
方法汇总:Python 安装第三方库常用
2022/04/26 Python