jq 数组做分页

202 阅读1分钟
js 数组分页 a{ display:inline-block; width:25px; height:18px; line-height:18px; border:1px solid #3e3e3e; text-align:center; font-size:14px; margin-right:10px; cursor:pointer; border-radius: 8px; } .pagination a:first-child{ margin-left:10px; } .current{ background:#4195E1; color: #fff; border:1px solid #4195E1; } .pagination{ display:inline-block; } .left{ margin-right:10px; } .left,.right{ display:inline-block; width:28px; height:18px; line-height:18px; border:1px solid #3e3e3e; text-align:center; font-size:15px; cursor:pointer; border-radius: 8px; }

    // 计算分页 page(pageSize,1,arr) function page (pageSize,currentPage,arr,nextCurrentPage = 1) { var pageCount = Math.ceil(arr.length/pageSize); var nextPageSize = 5; // 每次展示5条分页 var prvePage = ''; var nextPage = ''; var allPageCount = Math.ceil(pageCount / nextPageSize); // 如果当前页大于1展示

    var num = 0;
    // 如果分页大于5条  每次显示条页码 如果小于5直接显示分页
    //alert(nextCurrentPage)
    var i = 1;
    if(pageCount > 5){
    	if(nextCurrentPage == 1){
    		num = 5;
    	} else{
    		num = nextCurrentPage*nextPageSize
    		if(pageCount - num < 0){
    		   num = pageCount;
    		}
    		i = (nextCurrentPage-1) * nextPageSize + 1;
    	}
    } else{
    	num = pageCount
    }
    
    var className = ''
    var pagehtml = ''
    for (i;i <= num; i++){
    	if (i == currentPage){
    		className = 'current'
    	} else{
    		className = ''
    	}
      pagehtml += '<a class="'+className+'" the-id="pageNum"  data-index="'+i+'">'+i+'</a>'
    }
    if (nextCurrentPage > 1){
      prvePage ='<div class="left" the-id="prev" data-page="'+currentPage+'" data-index="'+nextCurrentPage+'">\<</div>'
    }
    // 当如当前页小于计算的条数 显示
    if (allPageCount > nextCurrentPage) {
      nextPage ='<div class="right" the-id="next" data-page="'+currentPage+'" data-index="'+nextCurrentPage+'">\></div>'
    }
    $(".pagination").html(prvePage+pagehtml+nextPage);
    

    } ("[the-id=next]").live('click',function(){ var nextCurrentPage = (this).attr('data-index') nextCurrentPage++; (this).attr(dataindex,nextCurrentPage)varcpage=1cpage=(this).attr('data-index',nextCurrentPage) var cpage = 1 cpage = ('[the-id=next]').attr('data-page') if(cpage == undefined){ cpage = ('[the-id=prve]').attr('data-page') } page(pageSize,cpage,arr,nextCurrentPage) }) ("[the-id=prev]").live('click',function(){ var nextCurrentPage = (this).attr(dataindex)nextCurrentPage;varcpage=1cpage=(this).attr('data-index') nextCurrentPage--; var cpage = 1 cpage = ('[the-id=prev]').attr('data-page') if(cpage == undefined){ cpage = ('[the-id=next]').attr('data-page') } page(pageSize,cpage,arr,nextCurrentPage) }) ('[the-id=pageNum]').live('click',function(){ var val = (this).attr(dataindex)(this).attr('data-index') ('[the-id=pageNum]').removeClass('current') ([theid=next]).attr(datapage,val)('[the-id=next]').attr('data-page',val) ('[the-id=prev]').attr('data-page',val) $(this).addClass('current') pagination(pageSize,val,arr) })