जावास्क्रिप्ट पृष्ठांकन बदलते पृष्ठ संख्या से पता चला

वोट
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