国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

jquery+css3打造一款ajax分頁插件

2019-11-17 03:26:27
字體:
來源:轉載
供稿:網友

調用代碼如下:

包括常用的加載失敗重試,參數可配置是否能手動輸入頁碼,設置按鈕數目,可以調用多個page等等,調用代碼很簡便

復制代碼
<script type="text/javascript">    var kpage;    $(function () {        tocount();    });    function tocount() {        //初始化        $.Ajax({ url: "/Service/DBCount", type: "post", success: function (e) {            kpage = $("#divPage").page({ dataCount: e, pageChange: topage });        }        });    }    function topage(i, s) {        //數據查詢        $("#divInfo").html("加載中...");        $.ajax({ url: "/Service/List", type: "post", data: { PageSize: s, PageIndex: i }, success: function (r) {            $("#tList").html(r);            $("#divInfo").html("");        }, error: function () {            $("#divInfo").html("加載失敗...<a href='Javascript:reload();'>重試</href>");        }        });    }    function reload() {        kpage.reload();    }</script>
復制代碼

 

具體jquery.kun_page.js:

復制代碼
/*jquery.kun_page.jslxk 2014.06.16m.survivalescaperooms.com/wingkun---------------------------------參數config:dataCount:數據總數pageSize:頁數據條數maxButton:頁碼按鈕數目  showCustom:是否能手動輸入頁碼   pageChange:頁變更事件參數:(i,s,c)i:pageIndex,當前頁s:pageSize,頁數據條數c:pageCount,總頁數*/(function($){$.fn.page = function (config) {    if (this.length != 1) {        throw "k_page:如有多個page請調用多次!";    }       var defaults = { dataCount: 1, pageSize: 10, maxButton: 6, showCustom: true, pageChange: null }    config = $.extend(defaults, config);    if (config.maxButton <= 1) config.maxButton = 2;    if (config.pageSize < 1) config.pageSize = 1;    //按鈕數目需偶數    if (config.maxButton % 2 != 0)        config.maxButton++;    var pageIndex = 1, pageCount, move_kf;    //初始化頁數    function initcount() {        pageCount = config.dataCount % config.pageSize == 0 ? config.dataCount / config.pageSize : parseInt(config.dataCount / config.pageSize) + 1;    }    initcount();    var PRev = "<div class='k_p_prev'><i></i>上一頁</div>", next = "<div class='k_p_next'>下一頁<i></i></div>", pbody = $("<span style='display:block;float:left;overflow:hidden;'></span>"), pcustom = $("<span class='k_custom'>到第&nbsp;<span></span>&nbsp;頁 </span><div class='k_btn'>確定</div>"), cl = "<div class='k_cl'></div>", pipt = $("<input class='k_ipt'>");    this.empty().addClass("kun_page").append(prev);    pipt.keypress(function (e) {        if (e.which == 13) {            topage("確定");            return false;        }    }).appendTo(pcustom.children());    if (config.pageChange) {        this.unbind("click").bind("click", function (e) {            var _t = $(e.target);            if (_t[0].tagName == "DIV" && _t[0].className != "kun_page") {                topage(_t.text());            }        });    }    //跳轉頁碼    function topage(text) {        switch (text) {            case "上一頁":                if (pageIndex - 1 < 1) {                    return;                }                pageIndex--;                move_kf = "sc_r";                break;            case "下一頁":                if (pageIndex + 1 > pageCount) {                    return;                }                pageIndex++;                move_kf = "sc_l";                break;            case "確定":                if (!/^/d+$/.test(pipt.val())) {                    pipt.val("");                    return;                }                text = parseInt(pipt.val());                if (text < 1 || text > pageCount) {                    pipt.val("");                    return;                }            default:                var _pindex = parseInt(text);                if (pageIndex == _pindex)                    return;                move_kf = pageIndex < _pindex ? "sc_l" : "sc_r";                pageIndex = _pindex;                break;        }        gopageChange();    }    //頁變更事件    function gopageChange() {        if (config.pageChange) {            if (config.dataCount != 0) {                config.pageChange(pageIndex, config.pageSize, pageCount);                endloading();            }        }    }    //異步加載結束    function endloading() {        initpage();    }    //添加頁碼    function initpage() {        pbody.empty();        var _t_maxb = config.maxButton / 2;        //前后頁碼集合        var _t_listp = [], _t_listn = [];        var _min = 0, _max = pageCount;        for (var i = 1; i <= _t_maxb; i++) {            var _t_prev = pageIndex - i, _t_next = pageIndex + i;            //當前頁碼之前的頁            if (_t_prev > 0) {                _t_listp.push("<div class='k_p_page'>" + _t_prev + "</div>");                if (i == _t_maxb) _min = _t_prev;            }            //當前頁碼之后的頁            if (_t_next <= pageCount) {                _t_listn.push("<div class='k_p_page'>" + _t_next + "</div>");                if (i == _t_maxb) _max = _t_next;            }        }        //顯示第一頁        if (_min > 1) pbody.append("<div class='k_p_page'>1</div>");        //顯示前 ……        if (_min - 1 > 1) pbody.append("<em>...</em>");        for (var i = _t_listp.length; i >= 0; i--) {            pbody.append(_t_listp[i]);        }        pbody.append("<div class='k_p_page k_p_current'>" + pageIndex + "<i class='k_m " + move_kf + "'></i></div>");        for (var i = 0; i < _t_listn.length; i++) {            pbody.append(_t_listn[i]);        }        //顯示后 ……        if (pageCount - _max > 1) pbody.append("<em>...</em>");        //顯示最后一頁        if (_max < pageCount) pbody.append("<div class='k_p_page'>" + pageCount + "</div>");    }    initpage();    gopageChange();    this.append(pbody).append(next);    if (config.showCustom)        this.append(pcustom);    this.append(cl);    return { reload: gopageChange, pageCount: pageCount, recount: function (e) {        //重新計算頁數        config.dataCount = e;        pageIndex = 1;        initcount();        initpage();        gopageChange();    }    };    //console.log(_min + "*" + _max + "*" + pageCount);}})(jQuery)
復制代碼

樣式kun_page.CSS

復制代碼
/*    kun_page.css    lxk 2014.06.16    m.survivalescaperooms.com/wingkun*/.kun_page {font-size: 12px;line-height:23px;font-family:"Microsoft YaHei";}.kun_page .k_p_page{position:relative;}.kun_page div {float: left;margin: 3px;border: solid 1px #ccc;cursor: pointer;color: #333;min-width:12px;text-align:center;padding:0px 5px;}.kun_page em {display: block;float: left;margin: 2px;}.kun_page .k_p_current {background: #ccc;color: #fff;-webkit-animation:scroll_b 300ms;animation:scroll_b 300ms;}.kun_page .k_cl {clear: both;float: none;border: none;margin: 0px;padding: 0px;width:0px;height:0px;}.kun_page .k_custom {display: block;float: left;margin: 3px 3px 3px 20px;}.kun_page .k_ipt {width: 30px;height: 21px;border: solid 1px #ccc;text-align: center;vertical-align:middle;}.kun_page .k_m{ opacity: 0; width: 1%; height: 1%;top:0px;left:0px; display:block; position: absolute; }.kun_page .sc_l{background: -webkit-gradient(linear, 0 100%, 100% 100%, from(#CCCCCC), to(#645F5F));    -webkit-transform:translate(-50px);-webkit-animation:scroll_k_l 300ms linear;    background: -moz-linear-gradient(left,#CCCCCC 0%, #645F5F 100%);    background: -ms-linear-gradient(left,#CCCCCC 0%, #645F5F 100%);    transform:translate(-50px);animation:scroll_k_l 300ms linear;        }.kun_page .sc_r{background: -webkit-gradient(linear, 0 100%, 100% 100%, from(#645F5F), to(#CCCCCC));    -webkit-transform:translate(50px); -webkit-animation:scroll_k_r 300ms linear;    background: -moz-linear-gradient(left, #645F5F 0%, #CCCCCC 100%);    background: -ms-linear-gradient(left,#CCCCCC 0%, #645F5F 100%);    transform:translate(50px); animation:scroll_k_r 300ms linear;    }/*animation*/@-webkit-keyframes scroll_k_l{0%{-webkit-transform:translate(-100px);opacity:0.2;width:200%;height:100%;}99%{-webkit-transform:translate(-20px);opacity:0;width:200%;height:100%;}100%{-webkit-transform:translate(-20px);opacity:0;width:1%;height:1%;}}@-webkit-keyframes scroll_k_r{0%{-webkit-transform:translate(100px);opacity:0.2;width:200%;height:100%;}99%{-webkit-transform:translate(20px);opacity:0;width:200%;height:100%;}100%{-webkit-transform:translate(20px);opacity:0;width:1%;height:1%;}}@keyframes scroll_k_l{0%{transform:translate(-100px);opacity:0.2;width:200%;height:100%;}99%{transform:translate(-20px);opacity:0;width:200%;height:100%;}100%{transform:translate(-20px);opacity:0;width:1%;height:1%;}}@keyframes scroll_k_r{0%{transform:translate(100px);opacity:0.2;width:200%;height:100%;}99%{transform:translate(20px);opacity:0;width:200%;height:100%;}100%{transform:translate(20px);opacity:0;width:1%;height:1%;}}@-webkit-keyframes scroll_b{0%,99%{background: #fff;color: #000;}100%{background: #ccc;color: #fff;}}@keyframes scroll_b{0%,99%{background: #fff;color: #000;}100%{background: #ccc;color: #fff;}}
復制代碼

樣式和動畫都可以自己修改(好吧,動畫效果很樸素,鬧哪樣,明明想了很久好嗎)

pageChange事件里面也沒有過多的其他處理,比如我們公司前后臺處理json就有一套方案,ajax提交的參數也有處理

所以若有需求,完全可以在我的代碼上再封裝一層

另外插件內公開的方法暫只有幾個,可視情況增加

 

喜歡的可以幫我點一下“推薦”,謝啦!

 

代碼下載(后臺查詢代碼需要自己寫一個):這里


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤壁市| 肥乡县| 浏阳市| 铜山县| 玉门市| 永修县| 南漳县| 肃北| 自贡市| 周口市| 蒙自县| 贺兰县| 宕昌县| 桓台县| 贵溪市| 黄山市| 民和| 大庆市| 东乌| 黄陵县| 铜鼓县| 句容市| 宜章县| 米林县| 乳山市| 商南县| 论坛| 克什克腾旗| 白朗县| 滨州市| 汪清县| 吕梁市| 三都| 那曲县| 海丰县| 清远市| 阿克陶县| 吉安县| 威海市| 偃师市| 常熟市|