我正在尝试在我的网页上使用Bootstrap分页。基于所有在线可用的东西,我已经从在线可用的东西中拿出了下面的代码。我需要的是能够在同一页面上交换div。这个脚本中的问题发生在早期,我的currentpage变量未定义,也无法找到activePage。我用过$(".pagination-container").data('page')
和$(this).data('page')
,都返回undefined。如果有人能看一下这个脚本,并给予如何使它工作的必要指示,我会很高兴。
<script>
var paginationHandler = function(){
$('.page_control li').unbind('click', paginationHandler);
var currentPage = $(this).data('page');
var activePage = $(this).parent().find('.active').data('page');
var num_elements = $(this).parent().children().length;
// This equals the first data-page value after the < button.
var start = 1;
// This is the end of the actual pages, remember it is offset by the < and > buttons.
var end = num_elements-2;
if(currentPage === '+' ){
(activePage < end) ? currentPage = activePage + 1 : currentPage = start;
}
if(currentPage === '-'){
(activePage > start) ? currentPage = activePage - 1 : currentPage = end;
}
// Remove the active class to the li
$(this).parent().find('.active').removeClass('active');
// Add the active class to the appropriate li taking
$(this).parent().find('li[data-page*=' + currentPage + ']').addClass('active');
$(this).parents("div .pagination-container").find('div[data-page*=' + activePage + ']').fadeOut('fast', function(){
$(this).parents("div .pagination-container").find('div[data-page*=' + currentPage + ']').fadeIn('fast');
$('.page_control li').bind('click', paginationHandler);
});
};
$( document ).ready( paginationHandler );
</script>
这是我的HTML:
<div class="pagination-container" >
<div data-page="1" >
<p>Content for Div Number 1</p>
</div>
<div data-page="2" style="display:none;">
<p>Content for Div Number 2</p>
</div>
<div data-page="3" style="display:none;">
<p>Content for Div Number 3</p>
</div>
<div data-page="4" style="display:none;">
<p>Content for Div Number 4</p>
</div>
<div data-page="5" style="display:none;">
<p>Content for Div Number 5</p>
</div>
<div class="pagination pagination-centered pagination-large" style="position:absolute; bottom:0;">
<ul class="page_control ">
<li data-page="-" ><a href="#" ><</a></li>
<li class="active" data-page="1">
<a href="#" >1</a>
</li>
<li data-page="2"><a href="#" >2</a></li>
<li data-page="3"><a href="#" >3</a></li>
<li data-page="4"><a href="#" >4</a></li>
<li data-page="5"><a href="#" >5</a></li>
<li data-page="+"><a href="#" >></a></li>
</ul>
</div>
</div>
2条答案
按热度按时间bbuxkriu1#
下面是根据HTML结构调整后的脚本。
下面是一个JS Fiddle来展示它的工作原理:https://jsfiddle.net/x2tqujzz/2/
希望能有所帮助!
qij5mzcb2#
更新以包括导航UI选择器活动状态