彈出遮罩層后悉尾,如何禁止底層頁面的滾動(dòng)

彈窗是一種常見的交互方式,而蒙層則是彈窗必不可少的元素挫酿,用于隔斷頁面與彈窗區(qū)塊构眯,暫時(shí)阻斷頁面的交互。但是早龟,我們會(huì)發(fā)現(xiàn)惫霸,當(dāng)彈出遮罩層后,底層body的內(nèi)容也是可以滾動(dòng)葱弟,顯然這不是我們想要的效果壹店,這個(gè)是最近做項(xiàng)目頻繁出現(xiàn)的一個(gè)問題,對于這個(gè)問題嘗試了幾種解決方案芝加,皆存在弊端茫打。

方法一:


當(dāng)觸發(fā)浮層的時(shí)候?qū)ody加css樣式

body: {
      height: 100%;
      overflow: hidden;
}

使用這個(gè)方法測試后發(fā)現(xiàn),在pc端支持良好,在移動(dòng)端就很尷尬了老赤,部分Android手機(jī)支持,iOS手機(jī)完全不支持

方法二:


我們寫的這個(gè)項(xiàng)目正好是個(gè)Vue項(xiàng)目制市,可以用vue提供的 @touchmove.prevent 方法可以用來阻止滑動(dòng)抬旺,當(dāng)時(shí)用了之后感覺良好,結(jié)果測試來給報(bào)bug了祥楣,說是遮罩頁上的其他需要滑動(dòng)的元素都無法滑動(dòng)了开财,啊尷尬了,這個(gè)方式禁掉了所有的滑動(dòng)時(shí)間误褪,看來對于我的需求來說依然用不得了...

方法三:


這個(gè)方法使用定位的原理责鳍,也是目前項(xiàng)目使用的方式,測試后移動(dòng)端支持良好兽间,靠譜@稹!嘀略!
需要注意的細(xì)節(jié)恤溶,就是將頁面定位后,內(nèi)容會(huì)回到頭部最頂端帜羊,如有需要咒程,這里我們需要記錄一下,當(dāng)取消蒙層時(shí)同步top值讼育。
在vue項(xiàng)目使用帐姻,封裝了個(gè)簡單的
+在vue項(xiàng)目下通過自定義指令封裝了個(gè)簡單的指令

'use strict';

var scrollTop = 0;
function install(Vue) {
    Vue.directive('banscroll', {
        bind(el, binding, vnode, oldVnode) {
            scrollTop = window.scrollY
            document.body.style.position = 'fixed';
            document.body.style.top = `-${scrollTop}px`;
            document.body.style.left = 0;
            document.body.style.right = 0;
            document.body.style.overflow = 'hidden';
        },
        unbind(el) {
            document.body.style.position = '';
            document.body.style.top = 0;
            document.body.style.overflow = 'auto';
            window.scrollTo(0, scrollTop);
        }
    })
}
export default install;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市奶段,隨后出現(xiàn)的幾起案子饥瓷,更是在濱河造成了極大的恐慌,老刑警劉巖忧饭,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扛伍,死亡現(xiàn)場離奇詭異,居然都是意外死亡词裤,警方通過查閱死者的電腦和手機(jī)刺洒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吼砂,“玉大人逆航,你說我怎么就攤上這事∮婕纾” “怎么了因俐?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我抹剩,道長撑帖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任澳眷,我火速辦了婚禮胡嘿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钳踊。我一直安慰自己衷敌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布拓瞪。 她就那樣靜靜地躺著缴罗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祭埂。 梳的紋絲不亂的頭發(fā)上面氓,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機(jī)與錄音沟堡,去河邊找鬼侧但。 笑死,一個(gè)胖子當(dāng)著我的面吹牛航罗,可吹牛的內(nèi)容都是我干的禀横。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼粥血,長吁一口氣:“原來是場噩夢啊……” “哼柏锄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起复亏,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤趾娃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后缔御,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抬闷,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年耕突,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笤成。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡眷茁,死狀恐怖炕泳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情上祈,我是刑警寧澤培遵,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布浙芙,位于F島的核電站,受9級特大地震影響籽腕,放射性物質(zhì)發(fā)生泄漏嗡呼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一节仿、第九天 我趴在偏房一處隱蔽的房頂上張望晤锥。 院中可真熱鬧,春花似錦廊宪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛉迹,卻和暖如春傅寡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背北救。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工荐操, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人珍策。 一個(gè)月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓托启,卻偏偏與公主長得像,于是被迫代替她去往敵國和親攘宙。 傳聞我的和親對象是個(gè)殘疾皇子屯耸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355