gpt4 book ai didi

jquery - Bootstrap表格和分页插件首页最后一页

转载 作者:行者123 更新时间:2023-12-01 06:48:12 25 4
gpt4 key购买 nike

我有以下 Bootstrap 插件用于对表行/项目进行分页。

Bootply example

在当前版本中,我可以转到上一页和下一页(一次一页),如何实现另外两个按钮 <第一个和最后一个>这将转到分页的第一页或最后一页?

另一件事是,当我滚动到最后一页并单击最后一页中的任何一页时, View 不再显示页面数量,而是显示一个页面。它应该始终显示设置中设置的页数。如果我有 20 页,并且我想一次查看 5 页,当我转到末尾 17 18 19 20 并单击其中任何一页时,我将看不到最后 5 页,而只能看到我单击的一页。

最佳答案

希望对您有帮助。我创建了函数first(),它可以让你移动到第一页(在索引0处),还创建了函数last(),它可以将你转发到索引[numberofPages -1]的页面。我还包含了您自己的答案中的代码,它解决了最后一页未显示您想要的所有元素的问题。当您位于两侧边缘时,您可能还希望隐藏第一个和最后一个链接,但这取决于您。

此外,我还添加了新设置 showFirstLast:它允许您隐藏该按钮。并更改了将事件类添加到按钮的方式,因为前面的新按钮改变了结构,只是为了确保它正确显示事件页面。您可以在这里查看http://bootply.com/93579

$.fn.pageMe = function(opts){
var $this = this,
defaults = {
perPage: 7,
showPrevNext: false,
numbersPerPage: 5,
hidePageNumbers: false,
showFirstLast: true
},
settings = $.extend(defaults, opts);

var listElement = $this;
var perPage = settings.perPage;
var children = listElement.children();
var pager = $('.pagination');

if (typeof settings.childSelector!="undefined") {
children = listElement.find(settings.childSelector);
}

if (typeof settings.pagerSelector!="undefined") {
pager = $(settings.pagerSelector);
}

var numItems = children.size();
var numPages = Math.ceil(numItems/perPage);

pager.data("curr",0);

if (settings.showFirstLast){
$('<li><a href="#" class="first_link">&lt;</a></li>').appendTo(pager);
}
if (settings.showPrevNext){
$('<li><a href="#" class="prev_link">«</a></li>').appendTo(pager);
}

var curr = 0;
while(numPages > curr && (settings.hidePageNumbers==false)){
$('<li><a href="#" class="page_link">'+(curr+1)+'</a></li>').appendTo(pager);
curr++;
}

if (settings.numbersPerPage>1) {
$('.page_link').hide();
$('.page_link').slice(pager.data("curr"), settings.numbersPerPage).show();
}

if (settings.showPrevNext){
$('<li><a href="#" class="next_link">»</a></li>').appendTo(pager);
}
if (settings.showFirstLast){
$('<li><a href="#" class="last_link">&gt;</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(2).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 .first_link').click(function(){
first();
return false;
});

pager.find('li .prev_link').click(function(){
previous();
return false;
});
pager.find('li .next_link').click(function(){
next();
return false;
});
pager.find('li .last_link').click(function(){
last();
return false;
});
function previous(){
var goToPage = parseInt(pager.data("curr")) - 1;
goTo(goToPage);
}

function next(){
goToPage = parseInt(pager.data("curr")) + 1;
goTo(goToPage);
}

function first(){
var goToPage = 0;
goTo(goToPage);
}

function last(){
var goToPage = numPages-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 - settings.numbersPerPage)) {
pager.find('.next_link').show();
}
else {
pager.find('.next_link').hide();
}

pager.data("curr",page);

if (settings.numbersPerPage > 1) {
$('.page_link').hide();

if (page < (numPages - settings.numbersPerPage)) {
$('.page_link').slice(page, settings.numbersPerPage + page).show();
}
else {
$('.page_link').slice(numPages-settings.numbersPerPage).show();
}
}

pager.children().removeClass("active");
pager.children().eq(page+2).addClass("active");

}
};

$(document).ready(function(){

$('#myTable').pageMe({pagerSelector:'#myPager',showPrevNext:true,hidePageNumbers:false,perPage:4});

});

关于jquery - Bootstrap表格和分页插件首页最后一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19923636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com