



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第基于原生JS實現(xiàn)分頁效果的示例代碼這個只是一個分頁的demo,主要是思路整理(很久之前項目用的東西)
分頁實現(xiàn)的效果主要是左側(cè)上一頁右側(cè)是下一頁中間顯示主要是超過5個顯示省略號然后是可配置選項
實現(xiàn)之后的效果
首先需要初始化該對象的一些基本屬性,顯示總頁碼數(shù),中間顯示的頁面數(shù),添加一個回調(diào)函數(shù),在頁面變化激活回調(diào)函數(shù)并返回當(dāng)前頁面和一些需要的其他參數(shù)init為對象初始化的方法(里面的參數(shù)都是可以寫成活的,我這里偷懶了所以寫成死的了)這個里的z_page可以接是接口返回的總頁數(shù)
functionPage(obj){
this.obj=obj||{page:1,page_count:0};
this.z_page=7;//一共顯示的頁碼數(shù)
this.show_page=this.z_2;//中間顯示多少個頁碼必須是個基數(shù)好看
this.fn=this.obj.block;
this.init()
}
在init在初始化方法里主要是判斷
1總頁數(shù)是否小于顯示頁面(這個主要是判斷是否顯示省略號,添加省略號比較麻煩,這個是總頁數(shù)少不用添加)
2當(dāng)前頁面數(shù)+左右顯示的平均數(shù)(show_page/2-1)+1和總頁面相比這個主要判斷省略號在前面的問題(靠近尾頁)前面有省略號
3左右顯示的平均數(shù)(show_page/2-1)+2(最前面1和最后的書)大于當(dāng)前頁面數(shù)(靠近首頁)
第一個圖片(后面有省略號)
4剩下的狀態(tài)就是中間狀態(tài)(兩側(cè)有省略號)
這個判斷其實也是要判斷咱們分頁的邊界條件,如果這個想好了并且實現(xiàn)了相當(dāng)于就完成了一半初始化方法的最后是要給上一頁和下一頁,有數(shù)字的頁簽添加點擊事件并且做相應(yīng)邏輯處理代碼的實現(xiàn)
Ptotype.create=function(){
//page:1page_count17
//保證被點擊的頁數(shù)在中間
varping=(this.show_1)/2;//左右顯示的平均數(shù)在中間
varnum=this.obj.ping;//最小頁碼
varendnum=(this.obj.page+ping)this.obj.page_countthis.obj.page_count:(this.obj.page+ping)//最大頁碼
console.log(endnum);
varpageID=document.getElementById('pageID');
varself=this;
pageID.innerHTML='';
num=num11:num;
if(this.obj.page_count=this.z_page){
alert('smallPage');
this.smallPage()
}elseif((this.obj.page+ping+1)=this.obj.page_count){//還要加上最后一個接近尾頁
pageID.appendChild(this.nearBack())
console.log('尾巴')
}elseif((ping+2)=(this.obj.page)){//3接近首頁
pageID.appendChild(this.nearHome())
console.log('臨近首頁')
}else{
console.log(num,endnum);
pageID.appendChild(this.centerPage(num,endnum));
document.onclick=function(event){
switch(event.target.className){
case'previous':
self._previous();
break;
case'next':
self._next();
break;
default:
self.clickLi(event.target);
self.fn(self.obj.page)
};
剩下的就是只想邏輯和dom操作了因為是用的原生js,這里是用的文檔碎片,把我生成的dom全部都放到文檔碎片里,然后一次性返出來直接append到body上這個是我的方法代碼
Ptotype.nearBack=function(){
varoFragmeng=document.createDocumentFragment();//創(chuàng)建了一個文檔碎片
varul=document.createElement('ul')
varDiv=oFragmeng.appendChild(ul);
Div.innerHTML='li1/lili/li
for(varm=(this.obj.page_count-this.show_page);m=this.obj.page_count;m++){
varli1=document.createElement('li');
li1.innerHTML=m;
if(m===this.obj.page){
li1.c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《美人魚》觀后感(合集15篇)
- 海洋科技創(chuàng)新實施的具體操作方案
- 供水管網(wǎng)優(yōu)化升級計劃可行性研究報告(模板)
- 新疆烏魯木齊市六校聯(lián)考2022-2023學(xué)年高二下學(xué)期期末英語 含解析
- 河南省開封市五縣聯(lián)考2023-2024學(xué)年高二上學(xué)期期中考物理含解析
- 甲狀腺癌核醫(yī)學(xué)診療體系
- 福州大學(xué)《計算機(jī)網(wǎng)絡(luò)與通信課程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 幾何畫板制作函數(shù)課件
- 上海中華職業(yè)技術(shù)學(xué)院《非織造復(fù)合材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 泉州海洋職業(yè)學(xué)院《知識產(chǎn)權(quán)法經(jīng)典著作》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年6月浙江省普通高校招生選考高考信息技術(shù)真題及答案
- 患者畫像與精準(zhǔn)營銷-深度研究
- 熱點素材41+2025年央視春晚里的作文素材-備戰(zhàn)高考語文作文高分素材運用與范文
- DB11-T 889.2-2013 文物建筑修繕工程操作規(guī)程 第2部分:木作
- DB11-T 356-2017 公共廁所運行管理規(guī)范
- 融僑大道螺旋橋施工方案
- 安全生產(chǎn)指導(dǎo)幫扶工作方案
- 油氣回收培訓(xùn)課件
- 2024年6月青少年軟件編程Python等級考試試卷五級真題(含答案)
- 粉末涂料的MSDS介紹
- 《電力安全工作規(guī)程DLT408-2023》知識培訓(xùn)
評論
0/150
提交評論