一個棘手的問題:彈出層的滾動穿透,即彈出層滾動,那麼被彈出層覆蓋的下面的內容區域也會進行滾動。彈出層我是用的view標籤然後使用的position:fixed進行的定位;說一下我的解決思路:
一:當彈出層裏面無滾動的時候:
可以在遮罩的view標籤上定義一個防止事件冒泡的方法:
1 2 3 4 5 6 |
|
二:當彈出層有滾動的時候:
只需要在打開遮罩的時候給最外層的view標籤加上一個nowarp的標籤,關閉彈出層的時候吧class移除掉就可以了,
1 2 3 4 5 6 7 8 9 |
|
H5然後還有一個鍵盤彈起不回彈,焦點錯位的問題(注意原生)
<input type="text" v-model="enough" @blur="clearSrcoll()">
//鍵盤頂起頁面後隱藏不回彈解決方案
clearSrcoll() {
var currentPosition, timer;
var speed = 1; //頁面滾動距離
timer = setInterval(function() {
currentPosition =
document.documentElement.scrollTop || document.body.scrollTop;
currentPosition -= speed;
window.scrollTo(0, currentPosition); //頁面向上滾動
currentPosition += speed; //speed變量
window.scrollTo(0, currentPosition); //頁面向下滾動
clearInterval(timer);
}, 1);
},