【问题标题】:Using Bootstrap to paginate a set number of <p> elements on a webpage使用 Bootstrap 对网页上的一组 <p> 元素进行分页
【发布时间】:2013-06-27 17:32:01
【问题描述】:

我使用的应用程序使用 &lt;p&gt; 元素提供由许多段落组成的“文章页面”,现在我想对这些段落进行分页,假设三页有 15 个段落,每页有 5 个段落。

Bootstrap tutorial 解释的内容是基于列表元素的,我确信一定有一种方法可以为其他元素实现这一点?

我遇到了另一个名为 Pajinate 的好插件,但它明确需要列表元素!

Bootstrap 或任何插件是否提供了一种解决方案,我们可以根据任何特定的 HTML 元素或 CSS 类应用分页?我的问题是找到一个我可以应用到&lt;p&gt; 元素。

【问题讨论】:

  • Bootstrap 仅用于视觉元素。 Pajinate 实际上会剪切页面。我认为最好的方法是在服务器端进行
  • 没错。我必须说现在我的问题得到了正确定义。谢谢。

标签: javascript jquery twitter-bootstrap pagination


【解决方案1】:

如果您使用的是 jQuery v3,请在第三行使用 .length 而不是 .size()

var numItems = listElement.children().length;

【讨论】:

  • 正是我所需要的。这个小改动使它适用于 jQuery 3.0 或更高版本。谢谢!
【解决方案2】:

您可以使用 jQuery 和 Bootstrap 分页类为 Bootstrap 制作一个相当简单的分页实现,而不是使用 jquery 插件或服务器端分页。

var listElement = $('#pageStuff');
var perPage = 2; 
var numItems = listElement.children().size();
var numPages = Math.ceil(numItems/perPage);

$('.pager').data("curr",0);

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

$('.pager .page_link:first').addClass('active');

listElement.children().css('display', 'none');
listElement.children().slice(0, perPage).css('display', 'block');

$('.pager li a').click(function(){
  var clickedPage = $(this).html().valueOf() - 1;
  goTo(clickedPage,perPage);
});

function previous(){
  var goToPage = parseInt($('.pager').data("curr")) - 1;
  if($('.active').prev('.page_link').length==true){
    goTo(goToPage);
  }
}

function next(){
  goToPage = parseInt($('.pager').data("curr")) + 1;
  if($('.active_page').next('.page_link').length==true){
    goTo(goToPage);
  }
}

function goTo(page){
  var startAt = page * perPage,
    endOn = startAt + perPage;

  listElement.children().css('display','none').slice(startAt, endOn).css('display','block');
  $('.pager').attr("curr",page);
}

将所有段落放在一个容器中,并将容器标识为“listStuff”。

只需将var perPage = 2 更改为您想要的任何值(即:5)。

工作演示:http://bootply.com/66815

【讨论】:

猜你喜欢
  • 2020-09-11
  • 2021-08-22
  • 1970-01-01
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-28
  • 1970-01-01
相关资源
最近更新 更多