zoukankan      html  css  js  c++  java
  • js 分页插件(jQuery)

    参考:http://www.jb51.net/article/117191.htm 侵删

    css 部分

    @charset "utf=8";
    *{
     box-sizing: border-box;
     padding: 0;
     margin: 0;
    }
    .page{
     font-size: 13px;
     text-align: center;
     margin-top: 20px;
    }
    .page .page_to{
     display: inline-block;
     max- 250px;
    }
    .page .page_to li{
     display: inline-block;
      auto;
     height: auto;
     border: 1px solid #ddd;
     padding:5px 10px;
     border-left- 0;
     color: #323232;
     cursor: pointer;
    }
    .page .page_to li.page_hide{
     display: none;
    }
    .page .page_to li:hover{
     color: #32C2CD;
     background-color: #f4f4f4;
     border-color: #DDDDDD;
    }
    .page .page_to li:first-child{
     border-left- 1px;
    }
    .page .page_jump{
     display: inline-block;
      180px;
    }
    .page .page_jump input.page_jump_input{
      52px;
     height: 28px;
     text-align: center;
     text-decoration: none;
     background-color: #fff;
     border: 1px solid #ddd;
     margin:0 4px;
    }
    .page .page_jump input.page_jump_btn{
     display: inline-block;
     padding: 2px 10px;
     margin-left: 5px;
     font-size: 14px;
     font-weight: 400;
     line-height: 1.42857143;
     text-align: center;
     white-space: nowrap;
     /*vertical-align: middle;*/
     -ms-touch-action: manipulation;
     touch-action: manipulation;
     cursor: pointer;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
     border: 1px solid transparent;
     border-radius: 4px;
     background-color: #32c5d2;
     color: #FFFFFF;
     font-weight: bold;
    }
     

    js 部分

    (function($, window, undefined) {
    
        var curPage = '',
            //跳转是否有值
            jumpVal = '',
            //从DOM中重新获取数据总数/总页数
            lists = '',
            totals = '',
            //是否返回值
            isTrue = false;
    
        var Page = function(opts) {
            this.settings = $.extend({}, Page.defaults, opts);
            curPage = this.settings.initPage;
            totals = this.settings.totalPages;
            jumpVal = this.settings.inputVal;
            this.init();
        };
    
        //默认配置
        Page.defaults = {
            container: '.page',
            setPos: 'body',
            totalPages: null,
            totalLists: null,
            initPage: 1,
            inputVal: 1,
            callBack: null
        };
    
        Page.prototype = {
            init: function() {
                this.create();
            },
            create: function() {
                var _template = '<div class="page">' +
                    '<span class="page_details">' +
                    '共<span class="page_num">' + this.settings.totalLists + '</span>条记录,' +
                    '第<span class="page_current">' + curPage + '</span>/' +
                    '<span class="page_size">' + this.settings.totalPages + '</span>页' +
                    '</span>' +
                    '<div class="page_to">' +
                    '<ul class="flex_parent">' +
                    '<li class="page_first flex_child">首页</li>' +
                    '<li class="page_pre page_hide flex_child">« 上一页</li>' +
                    '<li class="page_next flex_child">下一页 »</li>' +
                    '<li class="page_last flex_child">末页</li>' +
                    '</ul>' +
                    '</div>' +
                    '<div class="page_jump">' +
                    '<span>第:<input type="number" class="page_jump_input" value="' + this.settings.inputVal + '">页</span>' +
                    '<input type="button" class="page_jump_btn" value="Go">' +
                    '</div>' +
                    '</div>';
                $(this.settings.setPos).append(_template);
                this.refreshDom();
                this.bindEvent();
            },
            bindEvent: function() {
                var _this = this;
                //跳转首页
                $(this.settings.container).on("click", ".page_first", function() {
    
                    lists = $(_this.settings.container).find(".page_num").text();
                    totals = $(_this.settings.container).find(".page_size").text();
    
                    if ($.isFunction(_this.settings.callBack)) {
                        curPage = 1;
                        isTrue = _this.settings.callBack(1);
                        if (isTrue) {
                            _this.refreshDom();
                            $(_this.settings.container).find(".page_current").text(1);
                            $(_this.settings.container).find(".page_jump_input").val(curPage);
                        }
                    }
                });
                //跳转上一页
                $(this.settings.container).on("click", ".page_pre", function() {
    
                    lists = $(_this.settings.container).find(".page_num").text();
                    totals = $(_this.settings.container).find(".page_size").text();
    
                    if ($.isFunction(_this.settings.callBack)) {
                        if (curPage > 1) {
                            curPage = curPage - 1;
                            isTrue = _this.settings.callBack(curPage);
                            if (isTrue) {
                                _this.refreshDom();
                                $(_this.settings.container).find(".page_current").text(curPage);
                                $(_this.settings.container).find(".page_jump_input").val(curPage);
                            }
                        }
                    }
                });
                //跳转下一页
                $(this.settings.container).on("click", ".page_next", function() {
                    lists = $(_this.settings.container).find(".page_num").text();
                    totals = $(_this.settings.container).find(".page_size").text();
                    if ($.isFunction(_this.settings.callBack)) {
                        if (curPage < totals) {
                            curPage = curPage + 1;
                            isTrue = _this.settings.callBack(curPage);
                            if (isTrue) {
                                _this.refreshDom();
                                $(_this.settings.container).find(".page_current").text(curPage);
                                $(_this.settings.container).find(".page_jump_input").val(curPage);
                            }
                        }
                    }
                });
                //跳转末页
                $(this.settings.container).on("click", ".page_last", function() {
    
                    lists = $(_this.settings.container).find(".page_num").text();
                    totals = $(_this.settings.container).find(".page_size").text();
    
                    if ($.isFunction(_this.settings.callBack)) {
                        curPage = totals;
                        isTrue = _this.settings.callBack(curPage);
                        if (isTrue) {
                            _this.refreshDom();
                            $(_this.settings.container).find(".page_current").text(totals);
                            $(_this.settings.container).find(".page_jump_input").val(curPage);
                        }
                    }
                });
                //Go跳转
                $(this.settings.container).on("click", ".page_jump_btn", function() {
                    lists = $(_this.settings.container).find(".page_num").text();
                    totals = $(_this.settings.container).find(".page_size").text();
    
                    if ($.isFunction(_this.settings.callBack)) {
                        jumpVal = Number($(_this.settings.container).find("input.page_jump_input").val());
                        // console.log('跳转的页数:' + jumpVal + ';跳转之前的页数:' + curPage);
                        isTrue = _this.settings.callBack(jumpVal);
                        if (jumpVal >= 1 && jumpVal <= totals) {
                            curPage = jumpVal;
                            // isTrue = _this.settings.callBack(curPage);
                            if (isTrue) {
                                _this.refreshDom();
                                $(_this.settings.container).find(".page_current").text(curPage);
                                $(_this.settings.container).find(".page_jump_input").val(curPage);
                            }
                        } else {
                            jumpVal = curPage;
                        }
                    }
                });
            },
            refreshDom: function() {
                $(this.settings.container).find("li.flex_child").removeClass("page_hide");
                if (Number(totals) == 1) {
                    $(this.settings.container).find(".page_pre").addClass("page_hide");
                    $(this.settings.container).find(".page_next").addClass("page_hide");
                } else if (Number(totals) == 2) {
                    if (Number(curPage) == 1) {
                        $(this.settings.container).find(".page_pre").addClass("page_hide");
                    } else {
                        $(this.settings.container).find(".page_next").addClass("page_hide");
                    }
                } else if (Number(curPage) == 1 && Number(totals) > 2) {
                    $(this.settings.container).find(".page_pre").addClass("page_hide");
                } else if (Number(curPage) == Number(totals) && Number(totals) > 2) {
                    $(this.settings.container).find(".page_next").addClass("page_hide");
                }
            }
        };
    
        var pageInit = function(opts) {
            return new Page(opts);
        };
    
        window.pageInit = $.pageInit = pageInit;
    
    })(jQuery, window, undefined);

    调用

    function page(){
        $.pageInit({
            container: '.page', //容器:默认page
            setPos: '.pageBox', //放置位置:默认body
            totalPages: totalPages, //总页数:必填(后台返回的,加载列表可以取到)
            totalLists: totalCount, //数据总数:必填(后台返回的,加载列表可以取到)
            initPage: pageNo, //初始页码:默认1(后台会返回,自己也可以定义)
            inputVal: 1, //设置跳转的input值:默认1
            //要执行的函数:默认null,必须为fn且返回true则可执行分页,false则不执行
            callBack: function(n) {
                var flag = true;
           console.log(n); getCustomerList(n);
    //getCustomerList 是加载列表的方法;n 为返回的页码数, return flag; } }); };
  • 相关阅读:
    课程作业08:课后作业之字串加密、动手动脑之String.equals()方法、整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明、阅读笔记发表到博客园。
    课程作业07:请编写一个程序,使用上述算法加密或解密用户输入的英文字符串。
    课程作业06:验证课件上的代码,并将所有的动手动脑或要求发表博客作业部分整理成一篇博客发表。
    课程作业05:使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”
    Django 学习之用户认证组件auth与User对象
    Django 学习之中间件Middleware
    Django学习 之后端视图与ajax
    Django 学习之cookie与session
    Django 学习 之ORM聚合查询分组查询与F查询与Q查询
    Django 学习 之ORM多表操作
  • 原文地址:https://www.cnblogs.com/Byme/p/8670365.html
Copyright © 2011-2022 走看看