HTML
 
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style>
        .pageInit
        {
            padding: 5px 10px;
            border: 1px solid #ff9600;
            text-decoration: none;
            color: #ff6500;
            margin-left: 10px;
        }
        .pageSelected
        {
            padding: 5px 10px;
            border: 1px solid #ff6500;
            text-decoration: none;
            color: #ff6500;
            background: #ffbe94;
            margin-left: 10px;
        }
    </style>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="Scripts/JScript1.js" type="text/javascript"></script>
    <script>
        $(function () {
            console.log($("table tbody tr").length);
            //类级别 ,通过jQuery访问(即$)
            //$.simplePaging({ table: $("table"), pageSize: 5, currentPage: 0 });
            //对象级别,通过对象访问(即$("table"))
            $("table").simplePaging({ pageSize: 6, currentPage: 1 });
        });
    </script>
</head>
<body>
    <table>
        <thead>
            <tr>
                <td>
                    第一列
                </td>
                <td>
                    第二列
                </td>
                <td>
                    第三列
                </td>
                <td>
                    第四列
                </td>
                <td>
                    第五列
                </td>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>
                    1
                </td>
                <td>
                    1
                </td>
                <td>
                    1
                </td>
                <td>
                    1
                </td>
                <td>
                    1
                </td>
            </tr>
            <tr>
                <td>
                    2
                </td>
                <td>
                    2
                </td>
                <td>
                    2
                </td>
                <td>
                    2
                </td>
                <td>
                    2
                </td>
            </tr>
            <tr>
                <td>
                    3
                </td>
                <td>
                    3
                </td>
                <td>
                    3
                </td>
                <td>
                    3
                </td>
                <td>
                    3
                </td>
            </tr>
            <tr>
                <td>
                    4
                </td>
                <td>
                    4
                </td>
                <td>
                    4
                </td>
                <td>
                    4
                </td>
                <td>
                    4
                </td>
            </tr>
            <tr>
                <td>
                    5
                </td>
                <td>
                    5
                </td>
                <td>
                    5
                </td>
                <td>
                    5
                </td>
                <td>
                    5
                </td>
            </tr>
            <tr>
                <td>
                    6
                </td>
                <td>
                    6
                </td>
                <td>
                    6
                </td>
                <td>
                    6
                </td>
                <td>
                    6
                </td>
            </tr>
            <tr>
                <td>
                    7
                </td>
                <td>
                    7
                </td>
                <td>
                    7
                </td>
                <td>
                    7
                </td>
                <td>
                    7
                </td>
            </tr>
            <tr>
                <td>
                    8
                </td>
                <td>
                    8
                </td>
                <td>
                    8
                </td>
                <td>
                    8
                </td>
                <td>
                    8
                </td>
            </tr>
            <tr>
                <td>
                    9
                </td>
                <td>
                    9
                </td>
                <td>
                    9
                </td>
                <td>
                    9
                </td>
                <td>
                    9
                </td>
            </tr>
            <tr>
                <td>
                    11
                </td>
                <td>
                    11
                </td>
                <td>
                    11
                </td>
                <td>
                    11
                </td>
                <td>
                    11
                </td>
            </tr>
            <tr>
                <td>
                    13
                </td>
                <td>
                    13
                </td>
                <td>
                    13
                </td>
                <td>
                    13
                </td>
                <td>
                    13
                </td>
            </tr>
            <tr>
                <td>
                    23
                </td>
                <td>
                    23
                </td>
                <td>
                    23
                </td>
                <td>
                    23
                </td>
                <td>
                    23
                </td>
            </tr>
            <tr>
                <td>
                    33
                </td>
                <td>
                    33
                </td>
                <td>
                    33
                </td>
                <td>
                    33
                </td>
                <td>
                    33
                </td>
            </tr>
            <tr>
                <td>
                    43
                </td>
                <td>
                    43
                </td>
                <td>
                    43
                </td>
                <td>
                    43
                </td>
                <td>
                    43
                </td>
            </tr>
            <tr>
                <td>
                    53
                </td>
                <td>
                    53
                </td>
                <td>
                    53
                </td>
                <td>
                    53
                </td>
                <td>
                    53
                </td>
            </tr>
            <tr>
                <td>
                    63
                </td>
                <td>
                    63
                </td>
                <td>
                    63
                </td>
                <td>
                    63
                </td>
                <td>
                    63
                </td>
            </tr>
            <tr>
                <td>
                    73
                </td>
                <td>
                    73
                </td>
                <td>
                    73
                </td>
                <td>
                    73
                </td>
                <td>
                    73
                </td>
            </tr>
            <tr>
                <td>
                    83
                </td>
                <td>
                    83
                </td>
                <td>
                    83
                </td>
                <td>
                    83
                </td>
                <td>
                    83
                </td>
            </tr>
            <tr>
                <td>
                    93
                </td>
                <td>
                    93
                </td>
                <td>
                    93
                </td>
                <td>
                    93
                </td>
                <td>
                    93
                </td>
            </tr>
            <tr>
                <td>
                    113
                </td>
                <td>
                    113
                </td>
                <td>
                    113
                </td>
                <td>
                    113
                </td>
                <td>
                    113
                </td>
            </tr>
            <tr>
                <td>
                    123
                </td>
                <td>
                    123
                </td>
                <td>
                    123
                </td>
                <td>
                    123
                </td>
                <td>
                    123
                </td>
            </tr>
        </tbody>
    </table>
</body>
</html>
jQuery插件(文件名:JScript.js)
/** * 插件内部方法,外部无法访问,要求:table的绘制需要规范,即table需要采用如下格式: * <table> * <thead> * </thead> * <tbody> * </tbody> * </table> * 说明:本分页函数仅对tbody中的行进行分页显示 * * @param {} table table对象 。 必须参数 * @param {} pageSize 每页显示的行数 。必选参数 * @currentPage 当前页,索引值从0开始,默认值为0,即0代表第一页。 可选参数 */ (function ($) { ////类级别 ,通过jQuery访问(即$),访问方式如:$.simplePaging({ table: $("table"), pageSize: 5, currentPage: 0 }); // var defaults = { // mytable: null, // pageSize: 5, // currentPage: 0 // }; // $.extend({ // simplePaging: function (options) { // $.extend(defaults, options); //使用jQuery.extend 覆盖插件默认参数 // return paging(options.mytable, options.pageSize, options.currentPage); // } // }); /*对象级别,通过对象访问(即$("table")) 访问方式如:$("table").simplePaging({ pageSize: 6, currentPage: 1 });*/ var defaults = { pageSize: 5, currentPage: 0 }; $.fn.simplePaging = function (options) { var opts = $.extend({}, defaults, options); //使用jQuery.extend 覆盖插件默认参数 return this.each(function () { //这里的this 就是 jQuery对象 //遍历所有的要高亮的dom,当调用 highLight()插件的是一个集合的时候。 var $this = $(this); //获取当前dom 的 jQuery对象,这里的this是当前循环的dom //根据参数来设置 dom的样式 paging($this, opts.pageSize, opts.currentPage); }); }; //插件内部方法,外部无法访问 function paging(table, pageSize, currentPage) { var $table = $(table); //表格对象 if (currentPage == null || currentPage < 1) { currentPage = 0; } var sumRows = $table.find('tbody tr').length; //总行数 var sumPages = Math.ceil(sumRows / pageSize); //总页数 if (sumPages == currentPage) { currentPage--; } //默认所有行都隐藏,然后根据分页显示 $table.find('tbody tr').hide().slice(currentPage * pageSize, (currentPage + 1) * pageSize).show(); //避免多次调用产生重复的页码 $table.next("div[tablePagingDiv]").remove(); if (sumPages > 1) { $table.bind('paging', function () { //默认所有行都隐藏,然后根据分页显示 $table.find('tbody tr').hide().slice(currentPage * pageSize, (currentPage + 1) * pageSize).show(); }); //页码div var $pager = $('<div tablePagingDiv="" style="height:40px;line-height:40px;"></div>'); for (var pageIndex = 0; pageIndex < sumPages; pageIndex++) { $('<a href="#"><span>' + (pageIndex + 1) + '</span></a>').bind('click', { 'newPage': pageIndex }, function (event) { currentPage = event.data['newPage']; $(this).addClass('pageSelected').siblings().removeClass('pageSelected'); //为每一个要显示的页数上添加触发分页函数 $table.trigger('paging'); }).appendTo($pager); $pager.append(" "); } //添加初始化css $('a', $pager).addClass('pageInit'); $('a:eq(' + currentPage + ')', $pager).addClass('pageSelected').siblings().removeClass('pageSelected'); $pager.insertAfter($table); //在table上触发paging事件 $table.trigger('paging'); } } })(jQuery);
