使用Bootstrap在网页上分页一组<p>元素

Sye*_*iom 4 javascript jquery pagination twitter-bootstrap

我使用的应用程序使用<p>元素提供了包含许多段落的"文章页面" ,现在我想对这些段落进行分页,假设在三个页面中有15个段落,每页有5个段落.

Bootstrap 教程解释的内容基于列表元素,我确信必须有一种方法可以为其他元素实现这一点吗?

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

Bootstrap或其中的任何插件是否提供了一个解决方案,我们可以根据任何特定的HTML元素或CSS类应用分页?我的问题是找到一个我可以应用于<p>元素.

Zim*_*Zim 7

您可以使用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);
}
Run Code Online (Sandbox Code Playgroud)

将所有段落放在一个容器中,并将容器标识为"listStuff".

只需将其更改var perPage = 2为您想要的任何内容(即:5).

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