您的位置:首頁技術文章
文章詳情頁

vue移動端彈起蒙層滑動禁止底部滑動操作

瀏覽:25日期:2022-12-30 18:43:22

解決辦法

在蒙層彈起的時候將body設置為fixed定位

在蒙層消失的時候將body恢復原位

popupVisible(newValue) { if (newValue) { document.body.style.position = ’fixed’; document.body.style.width = ’100%’; document.body.style.height = ’100%’; } else { document.body.style.position = ’static’; document.body.style.height = ’auto’; }},

設置為fixed的時候整個頁面會恢復原位,如果需要把位置開始scrollY記下來,恢復的時候在滾到原來的位置

popupVisible(newValue) { if (newValue) { document.body.style.position = ’fixed’; document.body.style.width = ’100%’; document.body.style.height = ’100%’; this.top = window.scrollY; } else { document.body.style.position = ’static’; document.body.style.height = ’auto’; window.scrollTo(0, this.top); }}

補充知識:解決使用vue時頁面內有彈窗時禁止頁面滾動 以及頁面內彈窗因絕對定位導致頁面壓縮的問題

如下所示:

@touchmove.prevent

當頁面彈窗出現時設置 @touchmove.prevent = 'false';

2.頁面內彈窗因絕對定位導致頁面壓縮的問題 造成底部導航欄固定在輸入鍵盤上面的問題

// 動態設置背景圖的高度為瀏覽器可視區域高度// 首先在Virtual DOM渲染數據時,設置下背景圖的高度. this.bodyHeight = `${document.documentElement.clientHeight}`;// 然后監聽window的resize事件.在瀏覽器窗口變化時再設置下背景圖高度. window.onresize = function temp() { var bodyHeight = `${document.documentElement.clientHeight}`; that.bodyHeight = bodyHeight; };

通過判斷 bodyHeight 數值的變化,來控制底部導航欄的出現與隱藏

以上這篇vue移動端彈起蒙層滑動禁止底部滑動操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
国产综合久久一区二区三区