Jquery外掛程式實現分頁查詢__Jquery

來源:互聯網
上載者:User
1.情境分析

    近期在項目中很多地方都用到了分頁查詢,今天筆者就前端的Jquery外掛程式實現分頁詳細地跟大家講解下,希望能協助到需要的各位。 2.實現方案

①page.css樣式代碼

.page{        list-style: none;        }        .page>li{        float: left;        padding: 5px 10px;        cursor: pointer;        }        .page .pageItem{        border: solid thin #DDDDDD;        margin: 5px;        }        .page .pageItemActive{        border: solid thin #0099FF;        margin: 5px;        background-color: #0099FF;        color:white;        }        .page .pageItem:hover{        border: solid thin #0099FF;        background-color: #0099FF;        color:white;        }        .page .pageItemDisable{        border: solid thin #DDDDDD;        margin: 5px;        background-color: #DDDDDD;        }
②page.js動效代碼

 /**     * Created by zhangxing on 2017/4/26.     */    var  page = {            "pageId":"",        "data":null,        "maxshowpageitem":5,//最多顯示的頁碼個數        "pagelistcount":10,//每一頁顯示的內容條數        "init":function(listCount,currentPage,options){        this.data=options.data,        this.pageId=options.id,        this.maxshowpageitem=options.maxshowpageitem,//最多顯示的頁碼個數        this.pagelistcount=options.pagelistcount//每一頁顯示的內容條數        page.initPage(listCount,currentPage);        },        /**         * 初始化資料處理         * @param listCount 列表總量         * @param currentPage 當前頁         */        "initPage":function(listCount,currentPage){        var maxshowpageitem = page.maxshowpageitem;        if(maxshowpageitem!=null&&maxshowpageitem>0&&maxshowpageitem!=""){        page.maxshowpageitem = maxshowpageitem;        }        var pagelistcount = page.pagelistcount;        if(pagelistcount!=null&&pagelistcount>0&&pagelistcount!=""){        page.pagelistcount = pagelistcount;        }        page.pagelistcount=pagelistcount;        if(listCount<0){        listCount = 0;        }        if(currentPage<=0){        currentPage=1;        }        page.setPageListCount(listCount,currentPage);        },        /**         * 初始化分頁介面         * @param listCount 列表總量         */        "initWithUl":function(listCount,currentPage){        var pageCount = 1;        if(listCount>=0){        var pageCount = listCount%page.pagelistcount>0?parseInt(listCount/page.pagelistcount)+1:parseInt(listCount/page.pagelistcount);        }        var appendStr = page.getPageListModel(pageCount,currentPage);        $("#"+page.pageId).html(appendStr);        },        /**         * 設定列表總量和當前頁碼         * @param listCount 列表總量         * @param currentPage 當前頁碼         */        "setPageListCount":function(listCount,currentPage){        listCount = parseInt(listCount);        currentPage = parseInt(currentPage);        page.initWithUl(listCount,currentPage);        page.initPageEvent(listCount);        page.viewPage(currentPage,listCount,page.pagelistcount,page.data)//      fun(currentPage);        },        //頁面顯示功能        "viewPage":function (currentPage,listCount,pagelistcount,data){        var NUM=listCount%pagelistcount==0?listCount/pagelistcount:parseInt(listCount/pagelistcount)+1;        if(currentPage==NUM){        var result=data.slice((currentPage-1)* pagelistcount,data.length);        }        else{        var result=data.slice((currentPage-1)*pagelistcount,(currentPage-1)*pagelistcount+pagelistcount);        }        options.callBack(result);        },        "initPageEvent":function(listCount){        $("#"+page.pageId +">li[class='pageItem']").on("click",function(){        page.setPageListCount(listCount,$(this).attr("page-data"),page.fun);        });        },        "getPageListModel":function(pageCount,currentPage){        var prePage = currentPage-1;        var nextPage = currentPage+1;        var prePageClass ="pageItem";        var nextPageClass = "pageItem";        if(prePage<=0){        prePageClass="pageItemDisable";        }        if(nextPage>pageCount){        nextPageClass="pageItemDisable";        }        var appendStr ="";        appendStr+="<li class='"+prePageClass+"' page-data='1' page-rel='firstpage'>首頁</li>";        appendStr+="<li class='"+prePageClass+"' page-data='"+prePage+"' page-rel='prepage'>&lt;上一頁</li>";        var miniPageNumber = 1;        if(currentPage-parseInt(page.maxshowpageitem/2)>0&&currentPage+parseInt(page.maxshowpageitem/2)<=pageCount){        miniPageNumber = currentPage-parseInt(page.maxshowpageitem/2);        }else if(currentPage-parseInt(page.maxshowpageitem/2)>0&&currentPage+parseInt(page.maxshowpageitem/2)>pageCount){        miniPageNumber = pageCount-page.maxshowpageitem+1;        if(miniPageNumber<=0){        miniPageNumber=1;        }        }        var showPageNum = parseInt(page.maxshowpageitem);        if(pageCount<showPageNum){        showPageNum = pageCount;        }        for(var i=0;i<showPageNum;i++){        var pageNumber = miniPageNumber++;        var itemPageClass = "pageItem";        if(pageNumber==currentPage){        itemPageClass = "pageItemActive";        }        appendStr+="<li class='"+itemPageClass+"' page-data='"+pageNumber+"' page-rel='itempage'>"+pageNumber+"</li>";        }        appendStr+="<li class='"+nextPageClass+"' page-data='"+nextPage+"' page-rel='nextpage'>下一頁&gt;</li>";        appendStr+="<li class='"+nextPageClass+"' page-data='"+pageCount+"' page-rel='lastpage'>尾頁</li>";        return appendStr;        }        }
③首頁面query.html代碼

<!DOCTYPE html><html><head><meta charset="utf-8"><title>ECharts</title><!-- 引入 echarts.js --><link rel="stylesheet" href="css/gongchang-style.css" /><link href="css/page.css" type="text/css" rel="stylesheet"/><script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script><script type="text/javascript" src="js/page.js"></script><script type="text/javascript" src="js/jQuery.js"></script><script src="js/echarts.js"></script></head><body onload="initdata()"><div><div class="grid-wrap"><div><input type="text" id="nicheng" placeholder="搜尋"><input type="button" onclick="search()" value="搜尋"></div><div class="grid"  id="grid1"><div class="grid-header" id="grid1"><span class="row-1">姓名</span><span class="row-1">年齡</span><span class="row-1">性別</span><span class="row-1">手機號碼</span><span class="row-1">居住地址</span></div><div class="grid-body"><!-- <div class="grid-item"><span class="row-1">zhangxing</span><span class="row-1">24</span><span class="row-1">男</span><span class="row-1">18772351259</span><span class="row-1">浙江西湖</span></div><div class="grid-item"><span class="row-1">lisishan</span><span class="row-1">23</span><span class="row-1">女</span><span class="row-1">17682317584</span><span class="row-1">浙江餘杭</span></div> --></div></div></div><!--分頁外掛程式--><div class="page" id="page"></div></div><script type="text/javascript">        var options;        /**初始函數         * [initdata description]         * @return {[type]} [description]         */        function initdata(){        alert("進來了");        $.ajax({        type: "get",        url: "http://localhost:8080/userInfo/getUserInfo",        success: function(data, textStatus){        alert(data.userInfoList[1].username);        if(data.status == 1){        var datas = data.userInfoList;        alert(datas);        options={        "id":"page",//顯示頁碼的元素        "data":datas,//顯示資料        "maxshowpageitem":5,//最多顯示的頁碼個數        "pagelistcount":3,//每頁顯示資料個數        "callBack":function(result){        alert(result);        var cHtml="";        for(var i=0;i<result.length;i++){        cHtml+='<div class="grid-item">\<span class="row-1">'+result[i].username+'</span>\<span class="row-1">'+result[i].age+'</span>\<span class="row-1">'+result[i].sex+'</span>\<span class="row-1">'+result[i].phone+'</span>\<span class="row-1">'+result[i].address+'</span>\</div>'        }        $(".grid-body").html(cHtml);        }        };        page.init(datas.length,1,options);        }        },        complete: function(XMLHttpRequest, textStatus){        },        error: function(){

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.