今天在做小程序的時候,遇到了一個棘手的問題,那就是彈出層的滾動穿透,即彈出層滾動,那么被彈出層覆蓋的下面的內容區域也會進行滾動,這一點就很麻煩了。彈出層我是用的view標簽然后使用的position:fixed進行的定位;說一下我的解決思路:
一:當彈出層里面無滾動的時候:
可以在遮罩的view標簽上定義一個防止事件冒泡的方法:
catchtouchmove="preventD";
preventD() {
return
}
二:當彈出層有滾動的時候:
在小程序里面一般滾動組件使用的是scroll-view,這個時候我們只需要在打開遮罩的時候給最外層的view標簽加上一個nowarp的標簽,關閉彈出層的時候吧class移除掉就可以了,
.noscroll {
top: 0px;
left: 0px;
width: 100%;
height: 100%;
overflow: hidden;
position: fixed;
z-index: 0;
}
親測有效
