移動端滾動穿透解決方法

2021-08-28 03:13:01 字數 379 閱讀 9480

當頁面中出現彈層時,彈層頁面滾動也會引起body的滾動,解決方法如下

//  開啟彈層時獲取當前頁面的滾動值,並給body設定position:fixed;top:當前頁面的滾動值

var scrollpx = $('body').scrolltop();

$('body').addclass('openfixed');

$('body').css('top', -scrollpx);

// 關閉彈層時移除fixed樣式,並設定頁面的滾動值為開啟彈層時的滾動值

$('body').removeclass('openfixed');

$('body').scrolltop(scrollpx )

可能完美解決移動端滾動穿透

1.overflow hidden 但是存在的缺陷是你的網頁會回滾到頂部 2 js阻止滾動事件 但是彈窗內的元素會無法滾動 3 fixed 加上js記錄滾動的位置 這個方案應該是所有文章提到的最優方案,但是其實吧我並不喜歡這種方案,改變body或者其他父級元素的position可能會影響到子集元素的...

移動端滾動穿透問題

一 body。一般pc端這樣就行了,但在移動端可就不行了,因為他有touchmove。二 可以阻止彈層的touchmove事件,但如果你的彈層內的內容需要滑動,這種方法pass document.body.addeventlistener touchmove function e 三 後來找到乙個比...

如何解決移動端滾動穿透問題

在彈框上滑動時,會發現彈框下面的內容跟著在滾動,這個就是滾動穿透問題。在 pc 端,通過在 body 上新增 overflow hidden 可以解決這個問題,但是該方法在移動端是無效的,所以我們通常意義上的滾動穿透指的都是移動端。方案一 position fixed body.modal open...