PbootCMS长篇内容JS无刷新分页方法2-根据内容所包含的子标签数分页
即ID为#content中包含的html标签(如:P段落或者其他标签)
格式为
<div id="content"> <p>1</p> <p>2</p> <p>3</p> ...... <p>N</p> </div>
对于包含复杂或者比较杂乱标签的内容可能会不怎么精确,内容尽量还是整理下,不要直接从WORD里面复制到编辑器中,因为这样内容标签会很多很复杂,不利于分页
闲话不多说直接上代码,有需要的自行去掉注释对应修改。
<div class="content mb-3" id="content">{content:content}</div> //注:内容标签一定要带上对应的ID如#content 下面js会用到 <div id='page_navigation'></div> //分页标签 <input type='hidden' id='current_page' /> <input type='hidden' id='show_per_page' /> //设置参数 <script type="text/javascript"> $(document).ready(function(){ //每页显示的标签数量 var show_per_page = 8; //获取id为content子标签的总数量 var number_of_items = $('#content').children().size(); //计算分页数 var number_of_pages = Math.ceil(number_of_items/show_per_page); //设置参数 $('#current_page').val(0); $('#show_per_page').val(show_per_page); var navigation_html = '<a class="previous_link" href="javascript:previous();">上一页</a>'; var current_link = 0; while(number_of_pages > current_link){ navigation_html += '<a class="page_link" href="javascript:go_to_page(' + current_link +')" longdesc="' + current_link +'">'+ (current_link + 1) +'</a>'; current_link++; } navigation_html += '<a class="next_link" href="javascript:next();">下一页</a>'; $('#page_navigation').html(navigation_html); $('#page_navigation .page_link:first').addClass('active_page'); $('#content').children().css('display', 'none'); $('#content').children().slice(0, show_per_page).css('display', 'block'); }); //上一页 function previous(){ new_page = parseInt($('#current_page').val()) - 1; if($('.active_page').prev('.page_link').length==true){ go_to_page(new_page); } } //下一页 function next(){ new_page = parseInt($('#current_page').val()) + 1; if($('.active_page').next('.page_link').length==true){ go_to_page(new_page); } } //点击跳转 function go_to_page(page_num){ var show_per_page = parseInt($('#show_per_page').val()); start_from = page_num * show_per_page; end_on = start_from + show_per_page; $('#content').children().css('display', 'none').slice(start_from, end_on).css('display', 'block'); $('.page_link[longdesc=' + page_num +']').addClass('active_page').siblings('.active_page').removeClass('active_page'); $('#current_page').val(page_num); } </script> //这里是随便设置的分页样式 <style> #page_navigation a{ padding:3px; border:1px solid gray; margin:2px; color:black; text-decoration:none } .active_page{ background:darkblue; color:white !important; } </style>
效果展示