<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
之前從來沒有單獨的做過手機端的網頁。當然,之前我也沒有獨立的從切圖到寫程式碼互動做過前端的頁面。
這裡邊的分頁還是和響應電腦端的數位分頁。但是,其實獨立做一個手機端的網站,而不是響應式的網站的時候,這種數位分頁看起來可能是不太好。
手機端網站嘛,還是仿照著APP或者是微信小程式那種上拉觸底分頁比較好。但是,這個玩意怎麼實現呢?
第一種想法,監聽卷軸,卷軸捲動到頁面底部,觸發方法,請求介面載入下一頁的資料。嗯,應該是可行的,我們來嘗試一下:
監聽卷軸所在位置的方法如下:
/** * @name: 監聽 卷軸變化 * @author: camellia * @date: 2021-10-10 */ const handleScroll = (env:any) => { // ========================================================================= // 回到頂部 let scrollTop = document.getElementsByClassName('top-div')[0].scrollTop; if(scrollTop > 100) { data.flag_scroll = true } else { data.flag_scroll = false } // =============================================== // 上拉載入下一頁程式碼 let clientHeight = document.getElementsByClassName('top-div')[0].clientHeight; let scrollObj = <Element | null>(null); // 裝置/螢幕高度 scrollObj = document.querySelector('.top-div'); // 捲動區域 // var scrollTop_page = document.documentElement.scrollTop || document.body.scrollTop; let scrollHeight = data.scrollHeight; if (scrollObj != null) { scrollHeight = scrollObj.scrollHeight // 卷軸的總高度 data.scrollHeight = scrollHeight; } console.log("scrollObj:" + scrollObj); console.log("scrollHeight:" + scrollHeight); console.log("scrollTop:"+scrollTop ); console.log("clientHeight:"+ clientHeight); console.log("total:"+ (scrollTop + clientHeight)); if ( scrollTop + clientHeight === scrollHeight) { data.scrollTop = scrollTop; // div 到頭部的距離 + 螢幕高度 = 可捲動的總高度 // 卷軸到底部的條件 getData();// 獲取下一頁資料 }//*/ }
測試一下,效果如下圖所示:
看了上邊console出來卷軸的值之後,效果體驗及其不佳,不行啊,這玩意用不了啊。後來,我就琢磨,不能夠啊,怎麼能不好用呢。問了下公司的前端,我倆研究了半天,也沒有找到太好的解決辦法。
這個時候,我靈機一動,上拉載入不好用,那就退而求其次,改成點選載入下一頁唄。
這個就不存在難度了,一個點選事件請求介面就好了,最後注意一下,返回值是疊加到陣列裡邊的。不要覆蓋。最終效果如下圖所示:
做完了之後,總覺得還是上拉載入分頁這個功能比較好,這個專案我是用了元件庫(vant)
我看了一下vant的使用檔案後發現,vant有上拉載入這個元件,我真是……
元件詳情如下圖所示:
元件要是能滿足需求,還是用元件吧……
到此這篇關於Vue實現上拉載入下一頁效果的範例程式碼的文章就介紹到這了,更多相關Vue上拉載入內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45