Van egy lapszámozás script egy asztal, amely létrehozza az oldalszámok alapján, hogy hány elem belsejében table.The probléma az, hogy ez azt mutatja, az összes oldalt, például akkor, ha van 50 oldal lenne kitölteni az oldalt 50 gombokat de azt akarjuk, hogy csak az első 3-4 gombok segítségével, majd ... és utána az utolsó oldal gombot. Megpróbáltam, hogy módosítsa azt, de nem vagyok biztos benne, hogy mit csinálok rosszul, mert ez nem igazán tesz semmit
$.fn.pageMe = function(opts) {
var $this = this, defaults = {
perPage : 7,
showPrevNext : false,
hidePageNumbers : false
}, settings = $.extend(defaults, opts);
var listElement = $this;
var perPage = settings.perPage;
var children = listElement.children();
var pager = $('.pager');
if (typeof settings.childSelector != undefined) {
children = listElement.find(settings.childSelector);
}
if (typeof settings.pagerSelector != undefined) {
pager = $(settings.pagerSelector);
}
var numItems = children.length;
var numPages = Math.ceil(numItems / perPage);
pager.data(curr, 0);
if (settings.showPrevNext) {
$('<li class=page-item><a href=# class=prev_link>«</a></li>')
.appendTo(pager);
}
var curr = 0;
while (numPages > curr && (settings.hidePageNumbers === false)) {
$(
'<li class=page-item><a href=# class=page-link>'
+ (curr + 1) + '</a></li>').appendTo(pager);
curr++;
}
if (settings.showPrevNext) {
$('<li class=page-item><a href=# class=next_link>»</a></li>')
.appendTo(pager);
}
pager.find('.page-link:first').addClass('active');
pager.find('.prev_link').hide();
if (numPages <= 1) {
pager.find('.next_link').hide();
}
pager.children().eq(1).addClass(active);
children.hide();
children.slice(0, perPage).show();
pager.find('li .page-link').click(function() {
var clickedPage = $(this).html().valueOf() - 1;
goTo(clickedPage, perPage);
return false;
});
pager.find('li .prev_link').click(function() {
previous();
return false;
});
pager.find('li .next_link').click(function() {
next();
return false;
});
function previous() {
var goToPage = parseInt(pager.data(curr)) - 1;
goTo(goToPage);
}
function next() {
goToPage = parseInt(pager.data(curr)) + 1;
goTo(goToPage);
}
function goTo(page) {
var startAt = page * perPage, endOn = startAt + perPage;
children.css('display', 'none').slice(startAt, endOn).show();
if (page >= 1) {
pager.find('.prev_link').show();
} else {
pager.find('.prev_link').hide();
}
if (page < (numPages - 1)) {
pager.find('.next_link').show();
} else {
pager.find('.next_link').hide();
}
pager.data(curr, page);
pager.children().removeClass(active);
pager.children().eq(page + 1).addClass(active);
}
};