1. 程式人生 > >小程式彈出的遮罩只有一屏高度,滾動顯示出下面的UI

小程式彈出的遮罩只有一屏高度,滾動顯示出下面的UI

問題:彈出的遮罩,由於沒有處理小程式的滾動擊穿,在遮罩下的滾動檢視如果很長,則滑動頁面,遮罩也滾動,沒有全屏。

解決辦法:將遮罩的高度設定為滾動頁面內容的高度。

步驟:需要獲取滾動頁面的高度,獲取螢幕的高度。如果滾動內容的高度大於螢幕高,則設定遮罩style高度為滾動內容的高度,否則設定為螢幕高度。

獲取高度的程式碼:

.js

calculateScrollViewHeight() { let that = this; let query = wx.createSelectorQuery(); query.select('#scrollview').boundingClientRect
(); query.selectViewport().scrollOffset(); query.exec(function (res) { let height = res[0].height; wx.getSystemInfo({ success: function (res) { let mainHeight = height>res.windowHeight?height:res.windowHeight that.setData({ mainHeight }) } }); }); },
在彈出遮罩的方法中,呼叫此方法
this.calculateScrollViewHeight();

.wxml

<view class = "mainPage" id = "scrollview">
最後,在需要設定高度的地方使用:height:{{mainHeight}}px