• 用jquery编写的分页插件


    用jquery编写的分页插件

    源码

    function _pager_go(total_page) {
        var page_str = $("#_pager_textbox").val();
        var int_expr = /^(+|-)?d+$/;
        if (!int_expr.test(page_str)) {
            alert("请输入整数");
            return;
        }
    
        var go_page = parseInt(page_str);
        if (go_page < 1 || go_page > total_page) {
            alert("跳转页数超出范围");
            return;
        }
        var link_fn_name = $("#_pager_link_fn_name").val();
        eval(link_fn_name + "(" + go_page + ")");
    }
    
    
    $.fn.ss_pager = function (options) {
        var box = $(this);
        var current_page = options.current_page;
        var total_page = options.total_page;
        var link_class_name = options.link_class || "pageitem";
        var text_class_name = options.text_class || "";
        var link_fn_name = options.link_fn || "void";
        var show_pages = options.show_pages || 10;
        var total_size = options.total_size;
        var btn_class_name = options.btn_class || "btn";
    
        if (current_page <= 1) {
            current_page = 1;
        }
    
        if (total_size <= 0) {
            $(box).html("<span style='color:red;'>没有记录</span>");
            return;
        }
    
        function __wprint(iscurrent, index, text) {
            if (!iscurrent) {
                return "<a class='" + link_class_name + "' href='javascript:" + link_fn_name + "(" + index + ")" + "'>" + text + "</a>";
            }
            else {
                return "<a class='" + text_class_name + "'>" + text + "</a>";
            }
        }
    
        var html_buf = '';
        if (total_size) {
            html_buf += __wprint(true, "", "共有" + total_size + "条记录");
        }
    
        html_buf += __wprint(current_page - 1 <= 0, current_page - 1, "上一页");
        if (total_page > 1) {
            //开始页码
            var start = 2;
            var end = total_page - 1;
            var _t = parseInt(show_pages / 2) - 1;
    
            html_buf += __wprint(current_page == 1, 1, 1);
            if (current_page - _t > 1) {
                html_buf += __wprint(true, "", "...");
                start = current_page - _t;
            }
    
            for (var i = start; i < current_page; i++) {
                html_buf += __wprint(current_page == i, i, i);
                //console.log("前 "+i);
            };
    
            if (current_page > 1 && current_page < total_page) {
                html_buf += __wprint(true, current_page, current_page);
            }
    
            if (current_page + _t < total_page - 1) {
                end = current_page + _t;
                //console.log("后 e "+ (current_page+_t));
                //console.log("后 e "+ (total_page-1));
            }
    
            for (var i = current_page + 1; i <= end; i++) {
                html_buf += __wprint(current_page == i, i, i);
                //console.log("后 "+i);
            };
    
            if (current_page + _t < total_page - 1) {
                html_buf += __wprint(true, "", "...");
            };
            html_buf += __wprint(current_page == total_page, total_page, total_page);
        }
        else {
            html_buf += __wprint(current_page == 1, 1, 1);
        }
    
    
        html_buf += __wprint(current_page + 1 > total_page, current_page + 1, "下一页");
    
        html_buf += ("<a class='" + text_class_name + "'> <input type='text' id='_pager_textbox' value='" + current_page + "' />");
        html_buf += ("<input type='hidden' value='" + link_fn_name + "' id='_pager_link_fn_name' />");
        html_buf += ("<input type='button' class='btn' value='转到' id='_pager_button' onclick='_pager_go(" + total_page + ")' /> </a>");
    
        $(box).html(html_buf);
    };
  • 相关阅读:
    如何入门深度学习
    机器学习之激活函数
    轻量化模型之SqueezeNet
    聚类算法之MeanShift
    目标检测之RefineDet
    语义分割之RefineNet
    数学基础之高斯核函数
    目标检测之人脸识别
    梯度下降算法及优化方法
    机器学习高阶训练营知识点一览
  • 原文地址:https://www.cnblogs.com/haiconc/p/4186720.html
Copyright © 2020-2023  润新知