js移動端滑倒頂部載入歷史訊息解決方案

2021-09-13 19:48:21 字數 1026 閱讀 8188

最近做了乙個語音直播聊天的專案,有乙個功能是當沒有直播時,進入房間可以檢視歷史訊息,滑動到頂部載入之前的歷史訊息,我用jquery scroll事件,來判斷是否滾動到頂部,問題來了:

我設定乙個全域性變數,用來儲存父元素的高度,先記錄prepend之前父元素的高度,再用prepend之後的高度減去之前的高度,這就是我想要的滾動位置,然後用animate 滾動到這裡(時間盡量設定短一點,負責頁面抖動厲害):

-webkit-overflow-scrolling 屬性控制元素在移動裝置上是否使用滾動回彈效果.

auto: 使用普通滾動, 當手指從觸控螢幕上移開,滾動會立即停止。

touch: 使用具有回彈效果的滾動, 當手指從觸控螢幕上移開,內容會繼續保持一段時間的滾動效果。

繼續滾動的速度和持續的時間和滾動手勢的強烈程度成正比。同時也會建立乙個新的堆疊上下文。

加上此屬性之後,在蘋果手機裡面設定scrolltop總是失敗,在我檢視了很多文章之後,發現設定

-webkit-overflow-scrolling:touchscrolltop有影響,具體原因,還有待研究。。。。

在我測試之後發現設定-webkit-overflow-scrolling:auto對於scrolltop沒有影響,

在我設定scrolltop之前先把-webkit-overflow-scrolling設定為auto,

設定完之後-webkit-overflow-scrolling設定為touch

希望大神有更好的解決方案多多指教,瀏覽器相容著實是心累的不行.....

移動端返回頂部

實現功能 下面詳細地說明具體的實現步驟 滾動到某個地方後顯示 事件 使用scroll頁面滾動事件 如果被卷去的頭部 window.pageyoffset 大於某個數值 點選返回頂部的,使用window.scroll 0,0 返回頂部 返回頂部模組css樣式 goback div class goba...

移動端滾動載入 jQuery 和 原生JS

判斷滾動條到底部,需要用到dom的三個屬性值,使用jquery分別是 body scrolltop 為滾動條在y軸上的滾動距離。window height 為內容可視區域的高度。body height 為內容可視區域的高度加上溢位 滾動 的距離。從這個三個屬性的介紹就可以看出來,滾動條到底部的條件即...

移動端滾動載入 jQuery 和 原生JS

判斷滾動條到底部,需要用到dom的三個屬性值,使用jquery分別是 body scrolltop 為滾動條在y軸上的滾動距離。window height 為內容可視區域的高度。body height 為內容可視區域的高度加上溢位 滾動 的距離。從這個三個屬性的介紹就可以看出來,滾動條到底部的條件即...