日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java h5 上拉加载更多_移动端H5页面上拉加载更多功能实现(二)

發布時間:2023/12/2 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java h5 上拉加载更多_移动端H5页面上拉加载更多功能实现(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前已經寫過一篇關于上拉加載更多的文章,那個主要是根據滾動實現分頁向后臺發起請求實現。這次實現方式為后臺返回所有需要加載的數據,前端這邊做視覺上的分頁效果。實現原理也是根據滾動距離觸發加載更多的條件。

我這邊的需求是需要在模態框里實現一個列表的加載更多的功能。實現原理:根據彈框內的父元素的溢出高度也就是滾動高度超出十條數據的高度,立即觸發加載下一頁。

具體代碼實現如下:

getOffsetHeight(){this.$nextTick(() => { //使用nextTick為了保證dom元素都已經渲染完畢

let cardList =[];

let pagecount= 0;

let receivedcardList= this.receivedState[this.isStateActive].cardList;for(let i = 0; i<= receivedcardList.length ; i+=10){

cardList.push(receivedcardList.slice(i,i+10))

}this.receivedState[this.isStateActive].cardList =cardList[pagecount];this.$refs.receivedCardList.onscroll = ()=>{if(this.isLoading){if((this.$refs.receivedCardList.scrollTop?>=?(730?+?pagecount*730)) && this.isStateActive == 1){

if(pagecount >=cardList.length){this.isLoading = false;

}else{this.isLoading = true;

pagecount++;if(cardList[pagecount] && cardList[pagecount].length> 0){this.receivedState[this.isStateActive].cardList = this.receivedState[this.isStateActive].cardList.concat(cardList[pagecount]);

}

}

}

}

}

})

}

其中:??receivedcardList 接收到的是后臺返回的所有數據的一個數組,定義一個cardList 將receivedcardList分割成十條一組的數據組成的數組,然后對cardlist 進行操作。通過監聽ref獲取的dom元素的滾動高度 來做條件判斷。定義一個分頁變量,每次加載超過分頁乘以定義好的滾動距離 即可觸發條件。當分頁大小超過cardList長度值就將變量isLoading 設置為false,以此來保證數組不再繼續累加(相當于阻止繼續請求的一個操作)。

以上。

總結

以上是生活随笔為你收集整理的java h5 上拉加载更多_移动端H5页面上拉加载更多功能实现(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。