如何用javascript显示分页?

时间:2015-12-03 15:46:17

标签: javascript

此代码显示此类分页

1 2 3 4 5 6 7 8 9 10 11 12 next>>

我想要显示只显示前两位数和最后一个和下一个按钮。下一次点击是否需要更改前2个值。

1 2 .... 12 next>>

这是我的代码:

_paginationOutput: function(currentPage, totalPages) {
            this.writeDebug('_paginationOutput',arguments);

            currentPage = parseFloat(currentPage);
            var output = '';
            var nextPage = currentPage + 1;
            var prevPage = currentPage - 1;

            // Previous page
            if( currentPage > 0 ) {
                output += '<li class="bh-sl-next-prev" data-page="' + prevPage + '">' + this.settings.prevPage + '</li>';
            }

            // Add the numbers
            for (var p = 0; p < Math.ceil(totalPages); p++) {
                var n = p + 1;

                if (p === currentPage) {
                    output += '<li class="bh-sl-current" data-page="' + p + '">' + n + '</li>';
                }
                else {
                    output += '<li data-page="' + p + '">' + n + '</li>';
                }
            }

            // Next page
            if( nextPage < totalPages ) {
                output += '<li class="bh-sl-next-prev" data-page="' + nextPage + '">' + this.settings.nextPage + '</li>';
            }

            return output;
        },

1 个答案:

答案 0 :(得分:1)

您需要检查p变量是否是您要忽略的页面之一。

编辑: 要添加...,请将其置于if条件中,并检查是否已打印了该点。

试试这段代码。把它放在for循环的开头。

并且,在dotsAdded循环之前创建一个名为for的新变量。

if (p >= 2 && p < totalPages - 1) {

    if (!dotsAdded) {
        output += "...";
        dotsAdded = true;
    }

    continue;
}

当且仅当p介于2和“倒数第二页”之间时,这将继续循环。