博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己写的分页控件
阅读量:5293 次
发布时间:2019-06-14

本文共 5942 字,大约阅读时间需要 19 分钟。

 
/*************************************************************************************************************************************************case Name :       	pager - jQuery Plugincase Revison :    	1.1case Date : 		2014-6-23case Author:        76362124@qq.comcase Support:    	FF, IE7, IE8, IE9, IE10, Chrome, Others(unknown)case License :		N/A*************************************************************************/(function ($) {    $.fn.pager = function (opt) {        var defaults = {            currIndex: 1,                   //当前页面index            totalCount: 0,                  //数据总数            pageSize: 20,                   //页面容量            isinputpage: true,              //是否显示页面输入框            onPaging: null,                 //翻页事件            cssClasses: 'pagerDistinguish',  //css classes            ulClass: 'pager'        }        var options = $.extend(defaults, opt);        var maxPageIndex = parseInt(options.totalCount / options.pageSize) + (options.totalCount % options.pageSize >= 1 ? 1 : 0);        //跳转页        var topage = function (index) {            index = isNaN(index) ? 1 : parseInt(index);            //当为index为空是 isNaN(index)为false            if (isNaN(index))                index = 1;            if (index < 1 || index > maxPageIndex)                return;            options.currIndex = index;            if ($.isFunction(options.onPaging)) {                options.onPaging(index);            }            buildindexs($(this).parents('.pagerDistinguish'));        }        //页码a click事件        var pagerhandle = function (e) {            var index = e.data;            topage(index);        }        //上一页        var toprepage = function () {            topage(options.currIndex - 1);        }        //下一页        var tonextpage = function () {            topage(options.currIndex + 1);        }        //go button        var gobtnclick = function () {        var $this = $(this).parents('.pagerDistinguish');            topage($this.find("#inptPageIndex").val());        }        //分页-输入控制        var inputPageChange = function () {            var code = event.keyCode;            var $that = $(this);            //Enter            if (code == 13) {                topage($that.val());                event.returnValue = false;            }            //NaN            else if (code < 48 || code > 57) {                event.returnValue = false;            }        }        //创建indexs        var buildindexs = function ($this) {            $this.find('.pageLink').remove();            $this.find('#inptPageIndex').val(options.currIndex);            var nextpage = $this.find('#nextpage');            var startIndex = parseInt(options.currIndex / 10) * 10 + 1 + (options.currIndex % 10 == 0 ? -10 : 0);            var endIndex = startIndex + 10;            if (options.currIndex > 10) {                var prepageslink = $("...");                prepageslink.bind('click', startIndex - 1, pagerhandle);                prepageslink.insertBefore(nextpage);            }            for (var i = startIndex; i < endIndex && i <= maxPageIndex; i++) {                if (i != options.currIndex) {                    var pagelink = $("" + i + "");                    pagelink.insertBefore(nextpage);                    pagelink.bind('click', i, pagerhandle);                }                else {                    $("" + i + "").insertBefore(nextpage);                }            }            if (maxPageIndex - endIndex >= 0) {                var nextpageslink = $("...");                nextpageslink.bind('click', startIndex + 10, pagerhandle);                nextpageslink.insertBefore(nextpage);            }        }        //初始化pager        var buildpager = function ($this) {            if (options.totalCount / options.pageSize > 1) {                $this.empty();                $this.show();                $this.attr('class', $this.attr('class') + ' ' + ($this.attr('class').indexOf(options.cssClasses) >= 0 ? '' : options.cssClasses));                var ul = $("
    "); ul.attr('class', options.ulClass); ul.appendTo($this); var divpager = $("
    "); divpager.appendTo(ul); var firstpage = $("<<"); firstpage.bind('click', 1, pagerhandle); var prepage = $("<"); prepage.bind('click', toprepage); var nextpage = $(">"); nextpage.bind('click', tonextpage); var lastpage = $(">>"); lastpage.bind('click', maxPageIndex, pagerhandle); firstpage.appendTo(divpager); prepage.appendTo(divpager); nextpage.appendTo(divpager); lastpage.appendTo(divpager); if (options.isinputpage) { var iptpage = $(""); iptpage.appendTo(divpager); iptpage.bind('keypress', inputPageChange); iptpage.bind('keyup', function () { this.value = this.value.replace(/[\D]/g, '') }); var gotobtn = $(""); gotobtn.bind('click', gobtnclick); gotobtn.appendTo(divpager); } buildindexs($this); } else { $this.hide(); } } return this.each(function () { buildpager($(this)); }); };})(jQuery);
     

      

    初始化
    1 //初始化分页2                     $('.pagination').pager({ totalCount: 100, pageSize: 20, pageIndex: 1, onPaging: function (index) {3                         pageIndex = index;4                         if (!validFields()) {5                             return false;6                         }7                         getLogs();8                     }

    div

    1 
    2

    效果

    转载于:https://www.cnblogs.com/ziyeyimeng/p/3615474.html

    你可能感兴趣的文章
    js 中基本数据类型和引用数据类型 ,,,, js中对象和函数的关系
    查看>>
    登录服务器,首先用到的5个命令
    查看>>
    多米诺骨牌
    查看>>
    区间DP 等腰三角形
    查看>>
    mysql 存储引擎对索引的支持
    查看>>
    Linq 学习(1) Group & Join--网摘
    查看>>
    asp.net 调用前台JS调用后台,后台掉前台JS
    查看>>
    【转】iOS 宏(define)与常量(const)的正确使用-- 不错
    查看>>
    【转】iOS开发UI篇—iPad和iPhone开发的比较
    查看>>
    【转】Android底层库和程序
    查看>>
    Comparación para 2019 Nueva Lonsdor K518S y K518ISE
    查看>>
    论文笔记——MobileNets(Efficient Convolutional Neural Networks for Mobile Vision Applications)
    查看>>
    从今天开始
    查看>>
    Attribute(特性)与AOP
    查看>>
    第三次作业
    查看>>
    Codeforces 962 /2错误 相间位置排列 堆模拟 X轴距离最小值 前向星点双连通分量求只存在在一个简单环中的边...
    查看>>
    Matrix快速幂 模板
    查看>>
    laravel command调用方法命令
    查看>>
    20162302 - 20162319 结对编程项目-四则运算(第一周)
    查看>>
    用python2和python3伪装浏览器爬取网页
    查看>>