自己动手写的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 hasOwnProperty 方法 &amp; in 关键字
Nov 26 Javascript
详解JavaScript数组的操作大全
Oct 19 Javascript
JavaScrip调试技巧之断点调试
Oct 22 Javascript
修改js confirm alert 提示框文字的简单实例
Jun 10 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
Dec 08 Javascript
JavaScript学习笔记之函数记忆
Sep 06 Javascript
JavaScript callback回调函数用法实例分析
May 08 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
ES6中定义类和对象的方法示例
Jul 31 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 Javascript
Weex开发之地图篇的具体使用
Oct 16 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 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提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
javascript实现检验的各种规则
2015/07/31 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
Python单元测试框架unittest简明使用实例
2015/04/13 Python
用Python遍历C盘dll文件的方法
2015/05/06 Python
python实现自动登录后台管理系统
2018/10/18 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
python 贪心算法的实现
2020/09/18 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
SQL Server面试题
2016/10/17 面试题
英语自我评价范文
2014/01/24 职场文书
商场营业员岗位职责
2015/04/14 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书