単純ajaxページング
簡単なページング:効果図:構想:
データレンダリング=』データ遍歴(各ページに所定の本数が表示される).bindList()とページングレンダリングを実行する.InitPaginator()改ページと次ページをクリックすると、データレンダリングを再要求し、対応するデータを再遍歴します.
コード実装:
html:
js:
データレンダリング=』データ遍歴(各ページに所定の本数が表示される).bindList()とページングレンダリングを実行する.InitPaginator()改ページと次ページをクリックすると、データレンダリングを再要求し、対応するデータを再遍歴します.
コード実装:
html:
js:
var List = {
contentId: "listContent", // id
pageId: "pagination", // id
pageIndex: 1, //
pageSize: 6,//
pageSum:0,//
refreshId: null
};
//data.count ,
List.loadList = function (pageIndex) {
var ajaxRequest = function () {
$.ajax({
url: "http://123.56.196.192:2000/syxa/news-consult/2/0/1000000",
type: "GET",
// data: data,
error: function () {
// console.log(error);
},
success: function (data) {
console.log(data);
console.log(data.data.length);
if (data.count == 0) {
console.log(' ');
}
else {
if(pageIndex == 1){
List.initPaginator(data.count, data.data);
$('#' + List.pageId).show();
$('.pagination li[data-page="1"]').addClass('active');
$('.pagination li.page-first').removeClass('active').addClass('disabled');
}
List.bindList(pageIndex,data.count,data.data);
}
}
});
}
ajaxRequest();
};
//
List.bindList = function (pageIndex,count,data) {
var start = (pageIndex - 1) * List.pageSize; //
var content = '';
for (var index = start; index < pageIndex*List.pageSize && index < data.length; index++) { // ,pageIndex
console.log(data[index]);
content += List.getListItem(data[index]);
}
$('#' + List.contentId).html('');
$('#' + List.contentId).append(content);
};
List.getListItem = function (item) {
var content = '';
content += ' <li>';
content += ' <a href="javascript:;"><img src="' + item.top_img + '" alt="' + item.title + '" /></a>';
content += ' <h4>' + item.title + '</h4>';
content += ' </li>';
return content;
};
//
List.initPaginator = function (count, data) {
var pageSize = List.pageSize;
var pageTotal = Math.ceil(count / pageSize);
var pageIndex = List.pageIndex;
List.pageSum = pageTotal;
console.log(pageTotal);
var html = "";
for (var i = pageIndex; i <= pageTotal; i++) {
html += '<li class="page" data-page="' + i + '"><a href="javascript:;">' + i + '</a></li>';
}
html = '<li data-page="1" class="page-first"><a href="javascript:;"> </a></li>'
+ '<li data-page="" class="page-prev disabled"><a href="javascript:;" > </a></li>'
+ html
+ '<li data-page="2" class="page-next"><a href="javascript:;"> </a></li>'
+ '<li data-page="' + pageTotal + '" class="page-last"><a href="javascript:;"> </a></li>';
$('#' + List.pageId).find('ul').html(html);
};
//
$('#' + List.pageId).on('click','li',function (e) {
var pageIndex=parseInt($(this).attr('data-page'));
var activeIndex=parseInt($('.pagination li.active').attr('data-page'));// active
$('.pagination li').removeClass('active');
if($(this).hasClass('page-prev')) {
List.loadList(activeIndex-1);
var cur=activeIndex-1;
$('.page-next,.page-last').removeClass('disabled');
$('.pagination li.page[data-page=' + cur + ']').addClass('active');
if(cur == 1){
$('.page-prev,.page-first').addClass('disabled');
$('.page-prev').attr('data-page','');
}else{
$('.page-prev').attr('data-page',activeIndex-2);
$('.page-next').attr('data-page',activeIndex);
}
}else if($(this).hasClass('page-next')){
List.loadList(activeIndex+1);
var cur=activeIndex+1;
$('.page-prev,.page-first').removeClass('disabled');
$('.pagination li.page[data-page=' + cur + ']').addClass('active');
if(cur == List.pageSum){
$('.page-next,.page-last').addClass('disabled');
$('.page-next').attr('data-page','');
}else{
$('.page-prev').attr('data-page',activeIndex);
$('.page-next').attr('data-page',activeIndex+2);
}
}else if((!$(this).hasClass('page-prev')) &&(!$(this).hasClass('page-next'))){
$(this).addClass('active');
List.loadList($(this).attr('data-page'));
}
if(!($(this).hasClass('page-first')) && !($(this).hasClass('page-prev'))&& !($(this).hasClass('page-last')) && !($(this).hasClass('page-next'))){
if(pageIndex == 1){
$('.page-prev,.page-first').addClass('disabled');
$('.page-next,.page-last').removeClass('disabled');
$('.page-next').attr('data-page','2');
}else if(pageIndex == List.pageSum){
$('.page-prev,.page-first').removeClass('disabled');
$('.page-next,.page-last').addClass('disabled');
$('.page-prev').attr('data-page',List.pageSum-1);
$('.page-next').attr('data-page','');
}else{
$('.page-prev,.page-first').removeClass('disabled');
$('.page-next,.page-last').removeClass('disabled');
$('.page-prev').attr('data-page',pageIndex-1);
$('.page-next').attr('data-page',pageIndex+1);
}
}
});
//
$(function () {
List.loadList(List.pageIndex);
});