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

 更新时间:2015年10月28日 14:19:19   投稿:mrr  
最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了

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

 

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分页控件(非常简单实用),希望对大家有所帮助。

相关文章

  • jquery京东商城双11焦点图多图广告特效代码分享

    jquery京东商城双11焦点图多图广告特效代码分享

    这篇文章主要介绍了jquery京东商城双11焦点图多图广告特效,一个精致的焦点图会吸引用户的注意力,让用户产生浏览网站的兴趣至关重要,现在小编推荐给大家一款特别棒的焦点图,感兴趣的小伙伴可以参考下。
    2015-09-09
  • jQuery基础语法实例入门

    jQuery基础语法实例入门

    这篇文章主要介绍了jQuery基础语法,以实例形式分析了jQuery的对象以及针对对象进行的操作用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • jQuery使用jsonp实现百度搜索的示例代码

    jQuery使用jsonp实现百度搜索的示例代码

    这篇文章主要介绍了jQuery使用jsonp实现百度搜索,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • ajax请求data遇到的问题分析

    ajax请求data遇到的问题分析

    本篇文章为大家分析了在ajax进行数据请求的时候遇到的问题以及解决办法,一起参考学习下。
    2018-01-01
  • jquery.pagination.js 无刷新分页实现步骤分享

    jquery.pagination.js 无刷新分页实现步骤分享

    jquery.pagination.js 无刷新分页实现步骤分享,需要的朋友可以参考下
    2012-05-05
  • jQuery插件-jRating评分插件源码分析及使用方法

    jQuery插件-jRating评分插件源码分析及使用方法

    该插件被广泛应用于各种需要评分的页面当中,今天作为学习,把源码拿出来分析一下,顺便学习其使用方法,需要了解的朋友可以研究下
    2012-12-12
  • jQuery实现的导航动画效果(附demo源码)

    jQuery实现的导航动画效果(附demo源码)

    这篇文章主要介绍了jQuery实现的导航动画效果,可实现导航条的底部横条随鼠标移动的效果,涉及jQuery针对鼠标事件的响应及页面元素样式动态变换的相关技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2016-04-04
  • 基于jquery的表头固定的若干方法

    基于jquery的表头固定的若干方法

    如果Table数据过多,页面必然会拉的很长,固定表头,可以方便用户对照表头项目列表。近日做后台界面时,整理固定表头三种方法
    2011-01-01
  • jQuery中outerHeight()方法用法实例

    jQuery中outerHeight()方法用法实例

    这篇文章主要介绍了jQuery中outerHeight()方法用法,实例分析了outerHeight()方法的功能、定义及获取第一个匹配元素外部高度的使用技巧,需要的朋友可以参考下
    2015-01-01
  • jQuery+HTML5加入购物车代码分享

    jQuery+HTML5加入购物车代码分享

    这篇文章主要为大家详细介绍了jQuery+HTML5加入购物车的实现代码,功能很齐全,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-08-08

最新评论