1. 程式人生 > 其它 >滾動載入更多在微信裡不生效問題

滾動載入更多在微信裡不生效問題

技術標籤:前端問題javascript

一般做滾動載入更多的時候,我都會用另外兩個引數來控制,
loadingStatus:是判斷是否資料全部載入完成了,比如一頁取20條,那麼拿到的全部資料%20 != 0的話就判斷是全部載入完成;
isShowBottomTips:是用來防止多次請求出問題,一開始定義false,開始請求的時候變成true,請求完成了再變成false;
還有一點就是html和body以及主要div都不設定高度,才能用document.body.offsetHeight,如果設定高度,可以把監聽div的滾動事件;
遇到的問題是在正常瀏覽器沒有問題,但是微信裡滾動事件不生效,觸發不了,原來是因為微信內建瀏覽器不支援offsetHeight,但是可以用documentElement。

最終解決一般是:

window.addEventListener('scroll', function () {
                if ((document.body.offsetHeight - window.innerHeight - document.documentElement.scrollTop < 1 || document.body.offsetHeight - window.innerHeight - document.body.scrollTop < 1) && !app.loadingStatus && !app.isShowBottomTips) {
                    app.loadMore();
                }
            })