摘要:頁面中經(jīng)常會遇到彈出層的部件,當彈出層激活時覆蓋整個頁面,且背景部分不能滾動。
頁面中經(jīng)常會遇到彈出層的部件,當彈出層激活時覆蓋整個頁面,且背景部分不能滾動。實現(xiàn)起來有以下要點:
彈出層position設置為fixed,四個定位錨點均設為0;
激活彈出層時給html和body設置overflow: hidden;;
以下是實踐:codepen
為了讓徹底禁止?jié)L動,還可以在mousewheel和touchmove事件(分別對應PC和移動端)中調用preventDefault()方法:
function forbidScroll(e) { e.preventDefault && e.preventDefault(); e.returnValue = false; e.stopPropagation && e.stopPropagation(); return false; }
需要注意的是:chrome默認將touchmove事件視為passive,目的是提高用戶體驗,讓處理一般事件時頁面一樣可以滾動,所以addEventListener的第三個參數(shù)需設置為:
{ passive:false }以面向對象的方式實現(xiàn)的結果:
codenpen
使用es6再次重構:codenpen
原文:http://codepen.io/zhaojun/pos...
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/50610.html
摘要:頁面中經(jīng)常會遇到彈出層的部件,當彈出層激活時覆蓋整個頁面,且背景部分不能滾動。 頁面中經(jīng)常會遇到彈出層的部件,當彈出層激活時覆蓋整個頁面,且背景部分不能滾動。實現(xiàn)起來有以下要點: 彈出層position設置為fixed,四個定位錨點均設為0; 激活彈出層時給html和body設置overflow: hidden;; 以下是實踐: codepen 為了讓徹底禁止?jié)L動,還可以在mous...
摘要:頁面中經(jīng)常會遇到彈出層的部件,當彈出層激活時覆蓋整個頁面,且背景部分不能滾動。 頁面中經(jīng)常會遇到彈出層的部件,當彈出層激活時覆蓋整個頁面,且背景部分不能滾動。實現(xiàn)起來有以下要點: 彈出層position設置為fixed,四個定位錨點均設為0; 激活彈出層時給html和body設置overflow: hidden;; 以下是實踐: codepen 為了讓徹底禁止?jié)L動,還可以在mous...
摘要:但是,我們會發(fā)現(xiàn),當彈出遮罩層后,底層的內容也是可以滾動,顯然這不是我們想要的效果,而這個問題就是小萌最近開發(fā)項目時遇到的問題。彈窗是一種常見的交互方式,而蒙層則是彈窗必不可少的元素,用于隔斷頁面與彈窗區(qū)塊,暫時阻斷頁面的交互。但是,我們會發(fā)現(xiàn),當彈出遮罩層后,底層body的內容也是可以滾動,顯然這不是我們想要的效果,而這個問題就是小萌最近開發(fā)項目時遇到的問題。 一個小程序的項目,是用MPV...
摘要:彈出層觸發(fā)時候頁面設置為高度百分百將不能滾動設置的樣式為取消時候把樣式重置還原為最初彈出層遮罩層灰色區(qū)域點擊關閉遮罩層遮罩層阻止冒泡默認事件彈出層禁止頁面彈出框彈出時候市面下拉滾動監(jiān)聽事件,這樣一來整個頁面將不能滾動所以添加一個判斷你的大盒 //彈出層觸發(fā)時候頁面設置為高度百分百將不能滾動 設置body html的樣式為overflow: hidden,height:100%//取消時...
摘要:彈出層觸發(fā)時候頁面設置為高度百分百將不能滾動設置的樣式為取消時候把樣式重置還原為最初彈出層遮罩層灰色區(qū)域點擊關閉遮罩層遮罩層阻止冒泡默認事件彈出層禁止頁面彈出框彈出時候市面下拉滾動監(jiān)聽事件,這樣一來整個頁面將不能滾動所以添加一個判斷你的大盒 //彈出層觸發(fā)時候頁面設置為高度百分百將不能滾動 設置body html的樣式為overflow: hidden,height:100%//取消時...
閱讀 3073·2021-11-11 16:55
閱讀 3215·2021-10-18 13:34
閱讀 604·2021-10-14 09:42
閱讀 1652·2021-09-03 10:30
閱讀 906·2021-08-05 10:02
閱讀 988·2019-08-30 11:27
閱讀 3495·2019-08-29 15:14
閱讀 1261·2019-08-29 13:02