頁面中經常會遇到彈出層的部件,當彈出層啟用時覆蓋整個頁面,且背景部分不能滾動。實現起來有以下要點:
以下是實踐:
codepen
為了讓徹底禁止滾動,還可以在mousewheel
和touchmove
事件(分別對應pc和移動端)中呼叫preventdefault()
方法:
function forbidscroll(e)
需要注意的是:chrome預設將touchmove
事件視為passive,目的是提高使用者體驗,讓處理一般事件時頁面一樣可以滾動,所以addeventlistener
的第三個引數需設定為:
以物件導向的方式實現的結果:
codenpen
使用es6再次重構:
codenpen
原文:
移動端彈出層滾動時禁止body滾動
相信很多寫移動端的朋友會遇到這個問題,我也遇到了,之後就辛辛苦苦的在網上找解決辦法,下面我大概提一下我在網上看到的幾種辦法,行不行的通呢?本人就親測了下。本人學的還不是太深,如果有什麼不對的地方或者有好的解決辦法,也請告知。測試結果 chrome手機模擬器還真可以,but到了我的安卓手機上,撲街了 ...
Vue 彈出層時 禁止頁面滑動
上 滑動限制 stop document.body.style.overflow hidden document.addeventlistener touchmove mo,false 禁止頁面滑動 取消滑動限制 move document.body.style.overflow 出現滾動條 doc...
禁止蒙層底部頁面跟隨滾動
彈窗是一種常見的互動方式,而蒙層是彈窗必不可少的元素,用於隔斷頁面與彈窗區塊,暫時阻斷頁面的互動。但是,在蒙層元素中滑動的時候,滑到內容的盡頭時,再繼續滑動,蒙層底部的頁面會開始滾動,顯然這不是我們想要的效果,因此需要阻止這種行為。那麼,如何阻止呢?請看以下分析 overflow hidden he...