自己动手写的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 相关文章推荐
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
xmlhttp缓存清除的2种解决方法
Dec 13 Javascript
JQuery记住用户名和密码的具体实现
Apr 04 Javascript
关于延迟加载JavaScript
May 05 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
js密码强度校验
Nov 10 Javascript
jQuery 判断是否包含在数组中Array[]的方法
Aug 03 Javascript
JS获取鼠标选中的文字
Aug 10 Javascript
vue登录注册实例详解
Sep 14 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
Nov 01 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
Feb 09 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
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
JavaScript使用cookie
2007/02/02 Javascript
javascript动画浅析
2012/08/30 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
vue实现树形菜单效果
2018/03/19 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
python之信息加密题目详解
2019/06/26 Python
python数字类型math库原理解析
2020/03/02 Python
python与pycharm有何区别
2020/07/01 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
市场营销职业生涯规划书范文
2014/01/12 职场文书
房产代理公证处委托书
2014/04/04 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis
Python测试框架pytest高阶用法全面详解
2022/06/01 Python