• 自己写的简单的jQuery分页控件


    因为是内部项目,需要分页控件,网上找了一大堆,给领导一看,都说不行,原因很简单,太复杂,领导就想要个简单点的,类似百度的分页,可是自己也没写过Jquery控件,硬着头皮找了些资料,写了这个分页控件,目前只在chrome测试,其他的兼容性不知道,      总算也会自己写插件了,  虽然很烂,但好歹也是进步啊,附上图片,源码,也许有人也有同样的需求可以用得到,欢迎指正,批评!!

    css:

    @charset "utf-8";
    * {
    margin:0px;
    padding:0px;
    font-family:"微软雅黑";
    font-size:14px;
    }
    ._ul {
    float:left;
    height:38px;
    display:block;
    }
    ._ul li {
    list-style-type:none;
    height:36px;
    36px;
    border:1px solid #e1e2e3;
    cursor:pointer;
    text-align:center;
    line-height:36px;
    color:blue;
    float:left;
    margin:0 3px;
    }
    ._ul li:hover,._before:hover,._after:hover {
    border:1px solid #38f;
    background: #f2f8ff;
    }

    .li-hover {
    border:1px solid #38f;
    background: #f2f8ff;
    }

    ._before {
    86px;
    height:36px;
    border:1px solid #e1e2e3;
    float:left;
    cursor:pointer;
    text-align:center;
    line-height:36px;
    color:blue;
    margin:0 3px;
    }
    ._after {
    86px;
    height:36px;
    border:1px solid #e1e2e3;
    float:left;
    cursor:pointer;
    text-align:center;
    line-height:36px;
    color:blue;
    margin:0 3px;
    }

    .Hidden {
    display:none;
    }
    ._select {
    border:1px solid #fff !important;
    color:black !important;
    }
    ._left {
    float:left;
    margin-left:200px;
    }
    ._right {
    float:right;
    margin-right:200px;
    }

    js:

    ; (function ($, window, document, undefined) {
    var isShow = function (ele,options) {
    this.$element = ele,
    this.defaults = {
    maxpage: 10,
    count: 0,
    total: 0,
    float: 'right',
    margin:'200px',
    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 = 1; i <= count ; i++) {
    strHtml += "<li data-index='"+(i==1?'frist':i==count?'last':'middle')+"' class='"+(i==1?'_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 / 2;
    var curr = _this.$element.find("li");
    if (count <= _index) {
    $(curr).show();
    } else {
    var ftemp = 0,ltemp=0;
    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);

  • 相关阅读:
    C++编程之约定俗成的习惯(1)
    “亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 (K L题解) CSS出题
    “亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 (K L题解) CSS出题
    “亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 (K L题解) CSS出题
    “亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 (K L题解) CSS出题
    万万没想到(2) 南邮NOJ2058
    万万没想到(2) 南邮NOJ2058
    万万没想到(2) 南邮NOJ2058
    万万没想到(2) 南邮NOJ2058
    万万没想到(1) 南邮NOJ
  • 原文地址:https://www.cnblogs.com/fuyuehangogo/p/4911793.html
Copyright © 2020-2023  润新知