Comment obtenir un effet de pagination avec Pure Jquery ? Ce que cet article vous apporte, c'est du pur jquery pour obtenir un effet de pagination simple (exemple de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Lors de notre processus de développement de pages front-end, si une page affiche trop de données et que la page est trop longue, l'expérience utilisateur sera dégradée. À ce stade, nous devons diviser les données en plusieurs pages pour les afficher, ce que l'on appelle la pagination.
Ci-dessous, nous utiliserons un exemple de code simple pour présenter en détail comment utiliser pure jquery pour obtenir un effet de pagination front-end super simple !
Code CSS :
ul.pagination { display: inline-block; padding: 0; margin: 0; } ul.pagination li {display: inline;} ul.pagination li a { color: black; float: left; padding: 8px 16px; text-decoration: none; border: 1px solid blue; border-radius:3px; } .active{ background-color: #7FFFAA; }
Code HTML :
<h2>最简单的分页</h2> <ul class="pagination"></ul> <input type="hidden" id="currentPage" name="currentPage" value="1"></input> <input type="hidden" id="totalPage" value="54"></input>
fichier de script js
1. Référence Jquery et script de pagination<. 🎜>
<script src="/js/jquery.min.js" type="text/javascript"></script> <script src="/js/jquery.PageBar.js" type="text/javascript"></script>
$().ready(function(){ var curPage =$("#currentPage").val(); var last =$("#totalPage").val(); var page =Math.ceil(curPage/10); //调用绘制分页样式函数 draw(page,curPage); //绑定点击页码事件 $(document).on("click",".pagination li a",function(){ var str =$(this).html(); if(!isNaN(str)){ //移除之前的active $(".pagination li a").removeClass("active"); $(this).attr("class","active"); $("#currentPage").val(str); } }); //绑定下一页点击事件 $(document).on("click","#nextPage",function(){ var num =$(".active").html(); var curPage =$("#currentPage").val(); var last =$("#totalPage").val(); var page =Math.ceil((parseInt(num))/10); if(num < page*10 && num != last){ //移除之前的active $(".pagination li a").removeClass("active"); $("#"+(parseInt(num)+1)+"").attr("class","active"); //$(".pagination li a[text="+(parseInt(num)+1)+"]").attr("class","active");//jQ1.6支持 $("#currentPage").val(parseInt(num)+1); }else if(num == page*10 && num != last){ //清空之前的数据 $(".pagination").html(""); draw(page+1,(parseInt(num)+1)); } }) //绑定上一页点击事件 $(document).on("click","#previousPage",function(){ var num =$(".active").html(); var curPage =$("#currentPage").val(); var last =$("#totalPage").val(); var page =Math.ceil((parseInt(num))/10); if(num <= page*10 && num != (page-1)*10+1){ //移除之前的active $(".pagination li a").removeClass("active"); $("#"+(parseInt(num)-1)+"").attr("class","active"); //$(".pagination li a[text="+(parseInt(num)+1)+"]").attr("class","active");//jQ1.6支持 $("#currentPage").val(parseInt(num)-1); }else if(num == (page-1)*10+1 && num != 1){ //清空之前的数据 $(".pagination").html(""); draw(page-1,(parseInt(num)-1)); } }) //绘制页面分页样式 function draw(page,curPage){ //页面中的当前页 var page =page; //后台传过来的页数 var curPage = curPage; //后台传过来的总页数 var datas =$("#totalPage").val(); //每页显示多少条数据 var pageSize =10; //在网页中一共要分多少页 var totalPage = Math.floor((datas-1)/pageSize+1); var liStr ="<li><a id='previousPage' href='#'>上一页</a></li>"; $("#currentPage").val(curPage); if(page <= totalPage){ if(datas <= 10){ for(i=1; i<=datas; i++){ //为当前页增加样式 var active =""; if(i==curPage){ active=" class='active' "; } liStr +=" <li><a id="+i+" "+active+" href='#'>"+i+"</a></li>" } }else{ var start =pageSize*(page-1)+1; var end =page*pageSize; if(page == totalPage){ for(i=start; i<=datas; i++){ //为当前页增加样式 var active =""; if(i==curPage){ active=" class='active' "; } liStr +=" <li><a id="+i+" "+active+" href='#'>"+i+"</a></li>" } }else{ for(i=start; i<=end; i++){ //为当前页增加样式 var active =""; if(i==curPage){ active=" class='active' "; } liStr +=" <li><a id="+i+" "+active+" href='#'>"+i+"</a></li>" } } } } liStr +="<li><a id='nextPage' href='#'>下一页</a></li>"; $(".pagination").append(liStr); } })
L'image ci-dessus est juste une image statique et ne peut pas montrer l'effet. Vous pouvez l'essayer vous-même. J'espère que cela aidera ceux qui en ont besoin ! Si vous souhaitez en savoir plus sur les connaissances liées au front-end et obtenir d'autres didacticiels connexes, vous pouvez visiter :
Tutoriel vidéo jQuery, Collection d'effets spéciaux jquery, Tutoriel vidéo bootstrap !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!