首先實(shí)現(xiàn)滾動(dòng)要借助onscroll事件處理程序。
創(chuàng)新互聯(lián)公司主營同仁網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,同仁h5微信小程序開發(fā)搭建,同仁網(wǎng)站營銷推廣歡迎同仁等地區(qū)企業(yè)咨詢無窮滾動(dòng)就是滑動(dòng)滾動(dòng)條,實(shí)現(xiàn)數(shù)據(jù)塊的無窮加載。
我們以瀑布流的布局來實(shí)現(xiàn)無窮加載。瀑布流就是一些等寬不等高的數(shù)據(jù)塊布局。在滾動(dòng)條下拉時(shí),它會(huì)進(jìn)行加載。那么問題就是在判斷什么時(shí)候應(yīng)該加載。
我們首先應(yīng)該明白瀑布流布局的特點(diǎn)。它將下一個(gè)圖片總是放在當(dāng)前列數(shù)最低的那一列。所以當(dāng)加載最后一個(gè)藍(lán)色的圖片時(shí),也就無疑是最后一個(gè)圖片了。所以要判斷該圖片加載到什么程度來觸發(fā)滾動(dòng)事件。
圖上灰色的表示頁面的大小,后面藍(lán)色邊框表示窗口的大小。當(dāng)拖動(dòng)滾動(dòng)條時(shí),灰色部分上移。我們希望頁面最后一個(gè)圖片(藍(lán)色圖片)加載一半時(shí)觸發(fā)滾動(dòng)事件。那么就要形成參照。
下來寫代碼:
//檢測是否具備滾動(dòng)條加載數(shù)據(jù)塊的條件 function checkScrollSlide(){ var oparent = document.getElementById('main'); var oBoxs = getByClass(oparent,'box'); var scrollH = document.body.scrollTop || document.documentElement.scrollTop + document.body.clientHeight || document.documentElement.clientHeight; var lastBoxH = oBoxs[oBoxs.length - 1].offsetTop + Math.floor(oBoxs[oBoxs.length - 1].offsetHeight/2); return (lastBoxH < scrollH )? true : false; }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。