angularjs表格分頁功能詳解
接上一次,這次主要介紹表格分頁功能,由于項目需要這個案例是關(guān)于前端分頁的方式,現(xiàn)在很少會這么用了,但如有需要可以參考其中的思路
html:
1.通過UL來展示頁標(biāo),其中每個頁標(biāo)的li是通過異步加載從獲取到不同的表格數(shù)據(jù)來動態(tài)生成的。
<div class="pagination">
<ul style="float:right">
<li id="previous"><a href="">上一頁</a></li>
<li><!--用于頁標(biāo)的顯示 -->
<ul id="page_num_all">
</ul>
</li>
<li id="next"><a href="" style="border:1px solid #ddd;float:right">下一頁</a></li>
</ul>
<span>
當(dāng)前為第<span class="num" id="current_page"></span>頁,總共<span class="num" id="page_all"></span>頁
</span>
</div>
js:
1.首先需要設(shè)置每頁想要顯示的條數(shù),通過選取頁面元素來確定本次生成的總條數(shù),以及當(dāng)前所在的頁數(shù)(為跳轉(zhuǎn)做準(zhǔn)備)
2.如果總頁數(shù)大于生成的當(dāng)前頁數(shù),則繼續(xù)生成下一頁直到完畢后,將角標(biāo)添加到頁面中
3.將所有的表格數(shù)據(jù)隱藏,只顯示一開始設(shè)置的第一頁中的5條
4.跳轉(zhuǎn)頁面功能,tab_page()通過傳入的index(頁數(shù))*顯示的條數(shù)來確定截取tr的開始位置和結(jié)束位置,然后將所有的tr隱藏,只顯示該范圍內(nèi)的tr(display:“”);
5.上一頁下一頁和跳轉(zhuǎn)功能,獲取當(dāng)前頁的數(shù)字,注意判斷是否為第一或最后一頁,將其作為index傳入跳轉(zhuǎn)功能中即可
function table_page(){
var show_page=5;//每頁顯示的條數(shù)
var page_all=$("#page").children().size();//總條數(shù)
var current_page=1;//當(dāng)前頁
// console.log(page_all);
var page_num=Math.ceil(page_all/show_page);//總頁數(shù)
var current_num=0;//用于生成頁標(biāo)的計數(shù)器
var li="";//頁標(biāo)元素
while(page_num>current_num){//循環(huán)生成頁標(biāo)元素
li+='<li class="page_num"><a href="javasctip:(0)">'+(current_num+1)+'</a></li>';
current_num++;
}
$("#page_num_all").html(li);//添加頁標(biāo)到頁面
$('#page tr').css('display', 'none');//設(shè)置隱藏
$('#page tr').slice(0, show_page).css('display', '');//設(shè)置顯示
$("#current_page").html(" "+current_page+" ");//顯示當(dāng)前頁
$("#page_all").html(" "+page_num+" ");//顯示總頁數(shù)
$("#previous").click(function(){//上一頁
var new_page=parseInt($("#current_page").text())-1;
if(new_page>0){
$("#current_page").html(" "+new_page+" ");
tab_page(new_page);
}
});
$("#next").click(function(){//下一頁
var new_page=parseInt($("#current_page").text())+1;//當(dāng)前頁標(biāo)
if(new_page<=page_num){//判斷是否為最后或第一頁
$("#current_page").html(" "+new_page+" ");
tab_page(new_page);
}
});
$(".page_num").click(function(){//頁標(biāo)跳轉(zhuǎn)
var new_page=parseInt($(this).text());
tab_page(new_page);
});
function tab_page(index){//切換對應(yīng)頁標(biāo)的頁面
var start=(index-1)*show_page;//開始截取的頁標(biāo)
var end=start+show_page;//截取個數(shù)
$('#page').children().css('display', 'none').slice(start, end).css('display', '');
current_page=index;
$("#current_page").html(" "+current_page+" ");
}
}
table_page();
以上就是表格的前端分頁方法和頁數(shù),頁標(biāo)等跳轉(zhuǎn)方式的方法,請結(jié)合第一章中的數(shù)據(jù)測試。
相關(guān)文章
詳解Angular的數(shù)據(jù)顯示優(yōu)化處理
本文主要對Angular的數(shù)據(jù)顯示優(yōu)化處理進(jìn)行詳細(xì)介紹,具有一定的參考價值,下面跟著小編一起來看下吧2016-12-12
AngularJS學(xué)習(xí)筆記之TodoMVC的分析
這篇文章主要介紹了AngularJS學(xué)習(xí)筆記之TodoMVC的分析的相關(guān)資料,需要的朋友可以參考下2015-02-02
ionic4+angular7+cordova上傳圖片功能的實例代碼
ionic是一個垮平臺開發(fā)框架,可通過web技術(shù)開發(fā)出多平臺的應(yīng)用。這篇文章主要介紹了ionic4+angular7+cordova上傳圖片功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06
AngularJS基礎(chǔ) ng-keyup 指令簡單示例
本文主要介紹AngularJS ng-keyup 指令,這里對ng-keyup指令的基本資料進(jìn)行了整理,并且附有代碼示例,有需要的朋友可以看一下2016-08-08
angularJs提交文本框數(shù)據(jù)到后臺的方法
今天小編就為大家分享一篇angularJs提交文本框數(shù)據(jù)到后臺的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10

