自己动手写的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+iframe 实现无刷新载入整页的代码
Mar 17 Javascript
IE的事件传递-event.cancelBubble示例介绍
Jan 12 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
Dec 23 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
Apr 20 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
react-redux中connect()方法详细解析
May 27 Javascript
vue里面父组件修改子组件样式的方法
Feb 03 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
Aug 06 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
vue工程全局设置ajax的等待动效的方法
Feb 22 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
javascript实现随机抽奖功能
Dec 30 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导出oracle库的php代码
2009/04/20 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
利用python画一颗心的方法示例
2017/01/31 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
python开启debug模式的方法
2019/06/27 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
Django如何批量创建Model
2020/09/01 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
社团活动总结书
2014/06/27 职场文书
公司年底活动方案
2014/08/17 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
光荣之路观后感
2015/06/12 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
Python基础之Socket通信原理
2021/04/22 Python
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技