Έχω ένα σελιδοποίηση σενάριο για έναν πίνακα που παράγει αριθμούς σελίδων με βάση το πόσα στοιχεία είναι μέσα στο πρόβλημα table.The είναι ότι δείχνει όλες τις σελίδες, για παράδειγμα, αν υπάρχουν 50 σελίδες που θα γεμίσει τη σελίδα με 50 πλήκτρα, αλλά θα ήθελα θέλουν να δείξουν μόνο τα πρώτα 3-4 κουμπιά στη συνέχεια ... και μετά από αυτό το τελευταίο κουμπί της σελίδας. Έχω προσπαθήσει να το τροποποιήσει, αλλά δεν είμαι σίγουρος τι κάνω λάθος γιατί δεν είναι πραγματικά κάνει τίποτα
$.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);
}
};