博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js实现分页效果

Posted on 2013-06-05 17:13  人生梦想起飞  阅读(295)  评论(0编辑  收藏  举报

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery前端分页显示特效 - 16素材网</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){

var show_per_page = 5;
 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();">Prev</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();">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>
</head>
<body>

<input type='hidden' id='current_page' />
 <input type='hidden' id='show_per_page' />

<div id='content'>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
  <p>Vestibulum consectetur ipsum sit amet urna euismod imperdiet aliquam urna laoreet.</p>
  <p>Curabitur a ipsum ut elit porttitor egestas non vitae libero.</p>
  <p>Pellentesque ac sem ac sem tincidunt euismod.</p>
  <p>Duis hendrerit purus vitae nibh tincidunt bibendum.</p>
  <p>Nullam in nisi sit amet velit placerat laoreet.</p>
  <p>Vestibulum posuere ligula non dolor semper vel facilisis orci ultrices.</p>
  <p>Donec tincidunt lorem et dolor fringilla ut bibendum lacus fringilla.</p>
  <p>In non eros eu lacus vestibulum sodales.</p>
  <p>Duis ultrices metus sit amet sem adipiscing sit amet blandit orci convallis.</p>
  <p>Proin ullamcorper est vitae lorem mollis bibendum.</p>
  <p>Maecenas congue fringilla enim, tristique laoreet tortor adipiscing eget.</p>
  <p>Duis imperdiet metus et lorem venenatis nec porta libero porttitor.</p>
  <p>Maecenas lacinia lectus ac nulla commodo lacinia.</p>
  <p>Maecenas quis massa nisl, sed aliquet tortor.</p>
  <p>Quisque porttitor tellus ut ligula mattis luctus.</p>
  <p>In at mi dolor, at consectetur risus.</p>
  <p>Etiam id erat ut lorem fringilla dictum.</p>
  <p>Curabitur sagittis dolor ac nisi interdum sed posuere tellus commodo.</p>
  <p>Pellentesque quis magna vitae quam malesuada aliquet.</p>
  <p>Curabitur tempus tellus quis orci egestas condimentum.</p>
  <p>Maecenas laoreet eros ac orci adipiscing pharetra.</p>
  <p>Nunc non mauris eu nibh tincidunt iaculis.</p>
  <p>Ut semper leo lacinia purus hendrerit facilisis.</p>
  <p>Praesent et eros lacinia massa sollicitudin consequat.</p>
  
 </div>

 <div id='page_navigation'></div><br>
</body>
</html>