解決HTML5中滾動(dòng)到底部的事件問題

問題:在H5中,我們有這樣的需求:例如有列表的時(shí)候,滾動(dòng)到底部時(shí),需要加載更多。
解決方案:可以采用window的滾動(dòng)事件進(jìn)行處理
分析:如果滾動(dòng)是針對(duì)整個(gè)屏幕而言的(不針對(duì)于某個(gè)界面小塊),那么這個(gè)應(yīng)該是是成立的:屏幕的高度+最大滾動(dòng)的距離 = 內(nèi)容的高度
代碼實(shí)現(xiàn):
<html> <head> <meta charset="UTF-8"> <title>監(jiān)聽滾動(dòng)到底部滾動(dòng)底部</title> <style> .div2{ width:100px; height:100px; border:1px solid red } *{ margin:0 } .button1:active{ background:red } body{ height:375px; width:667px; border:1px solid red } .div1{ height:600px; width:100%; background:red } .div2{ height:600px; width:100%; background:green } .div3{ height:600px; width:100%; background:blue } .div4{ height:600px; width:100%; background:yellow } </style> </head> <body > <div class="div0"> <div class="div1"></div> <div class="div2"></div> <div class="div3"></div> <div class="div4"></div> <div class="div5"></div> </div> </body> <script> window.onload = function(){ //獲取容器父元素 var div0 = document.getElementsByClassName('div0')[0]; //height 計(jì)算屬性的高度 var height = parseInt((window.getComputedStyle(div0, null).height).replace('px', '')); console.log(height,"div0的計(jì)算高度") window.onscroll = function(){ /* scrollTop 為滾動(dòng)條頂端距離界面右上角的距離,這里采用了兼容性寫法 */ let scrollTop = document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop; //+-5是為了保證一定的彈性,并非要?jiǎng)偤孟嗟炔懦霭l(fā), if(height-5<=scrollTop+clientHeight&&scrollTop+clientHeight<=height+5){ console.log('監(jiān)聽成功','到達(dá)底部') } } } </script> </html>
代碼的相關(guān)說明:很多時(shí)候,列表加載,我們不能夠把裝載子元素的父容器高度設(shè)死,此時(shí)采用style設(shè)置為auto時(shí),element.style.height
也會(huì)等于auto ,建議采用clientHeight
或者利用計(jì)算樣式 getComputedStyle
計(jì)算高度
總結(jié)
以上所述是小編給大家介紹的解決HTML5中滾動(dòng)到底部的事件問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
- 這篇文章主要介紹了Html5 滾動(dòng)穿透的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-13
html5實(shí)現(xiàn)帶視差的輪播圖片滾動(dòng)切換效果源碼
這是一款基于html5實(shí)現(xiàn)帶視差的輪播圖片滾動(dòng)切換效果源碼。點(diǎn)擊左右切換按鈕可實(shí)現(xiàn)輪播圖片的切換,同時(shí)切換過程中還可看到兩張圖片疊加與層疊視差的視覺效果2019-05-07Html5移動(dòng)端獲獎(jiǎng)無(wú)縫滾動(dòng)動(dòng)畫實(shí)現(xiàn)示例
這篇文章主要介紹了Html5移動(dòng)端獲獎(jiǎng)無(wú)縫滾動(dòng)動(dòng)畫實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-06-25- 這是一款益智類軌道拼接滾動(dòng)鋼珠。游戲中玩家通過拖動(dòng)木板,控制軌道的拼接,使鋼珠可以滾動(dòng)到終點(diǎn)。游戲中移動(dòng)木板有規(guī)定步數(shù)的限制,并且玩家需要在右側(cè)進(jìn)度倒計(jì)時(shí)結(jié)束前2018-04-25