Η Javascript Σελιδοποίηση αριθμοί αλλαγή σελίδας εμφανίζονται

ψήφοι
16

Έχω ένα σελιδοποίηση σενάριο για έναν πίνακα που παράγει αριθμούς σελίδων με βάση το πόσα στοιχεία είναι μέσα στο πρόβλημα 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);

    }
};
Δημοσιεύθηκε 27/09/2018 στις 21:04
χρήστη
Σε άλλες γλώσσες...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more