vue解決彈出框與背景頁面出現兩個滾動條的問題

2021-10-11 05:23:33 字數 749 閱讀 8269

首先,我遇到的是某個憨憨用transition(動畫)寫彈出框,導致彈出框有個滾動條,入口頁面(以下簡稱背景頁)也有乙個滾動條,當彈出框顯示時,背景頁的滾動條仍起作用。

那麼,我們要知道背景頁的滾動條在哪個dom節點上。

我在兩個dom節點使用overflow:hidden;,找到起作用的節點位置。

解決方案(僅限於沒用抽屜元件或者用動畫寫彈出框的』憨憨』):

一般使用布林型別控制彈出框顯示隱藏的話,可以使用watch監聽控制樣式

1.使用ocument.queryselector(『body』)找到節點 body或者html

2.setattribute(『style』, 『overflow:hidden;』)設定該節點滾動條隱藏樣式

3.彈出框關閉時記得清除背景頁滾動條隱藏樣式document.body.removeattribute(『style』) 或

document.html.removeattribute(『style』)

**如下:

// html

watch:  else }}

},

vue 模態框背景不動解決方案

1 如果彈框內容不需要滾動 直接在灰色背景元素上繫結 touchmove.prevent 事件即可 2 內容需要滾動的情況下實現原理 給乙個固定定位的樣式類,當模態框出現時,動態新增樣式類給body 標籤,並且獲取當前頁面滾動高度賦值給 this.mockscrolltop 設定body固定定位的高...

vue 封裝彈出框

dialog.vue dialog v show showmask click.self closemask dialog container dialog title div content 彈窗內容 slot div btns type confirm class default btn cli...

vue之element ui設定全域性彈出框

這樣的需求,在主要功能完成後,需要進行互動效果的完善,需要給請求api的時候新增乙個載入中的乙個彈出框。但是每個頁面每個頁面過的話,會很費時間和精力,這裡我們可以採用element ui中的服務式彈出框設定 如下 封裝的api.js檔案 import axios from axios import ...