我的,有主页面 index.html 显示顶部与底部,其他还有4个子页面,append 进来的,主页面的顶部有个下拉菜单,我点下拉菜单的时候,遮罩层只遮罩了主页面的顶部与底部....,中间 append 进来的子页面没有罩上....,我以为是层级关系的问题,就在 plus.webview.create() 创建 index.html 的时候设置了 zindex: 100 这个参数,显示 index.html 后,append 子页面时,cretate 的是 zindex: 99,结果还是不能全部遮罩,很无奈,又各种找,发现获取到的 webview 也可以设置 mask(遮罩),所以,在点击主页面 index.html 顶部下拉菜单时显示遮罩的同时,又把当前子页面的样式 setStyle ,mask 了一下,这下,就看着是都遮罩了,但是问题又来了,遮罩层显示了,但是下拉菜单还是出不来,怀疑还是层级问题,于是又设置了一下当前子页面 setStyle,opacity: 0,这下 index.html 的顶部菜单出来了,问题到这就结束了,不知道怎么解决了。
//创建 index.html 的时候,zindex: 100
var indexWebview = plus.webview.create('index.html', 'index',{zindex: 100});
//循环 append 子页面的时候,参数 zindex 是 99
var subpage_style = {
top: puiHeaderDom.offsetHeight + 'px',
bottom: '51px',
zindex: 99
};
// console.log(JSON.stringify(subpage_style))
//创建子页面,首个选项卡页面显示,其它均隐藏;
//判断一下 self 是否存在,如果存在就不再声明 self ,否则新创建。目的:防止在编辑保存代码时重复出现对象
//从而造成一条语句执行好几遍
if (typeof self == 'undefined') {
var self = plus.webview.currentWebview()
};
if (self.children().length == 0) {
for (var i = 0; i < subpages.length; i++) {
var temp = {};
var sub = plus.webview.create(subpages[i], subpages[i], subpage_style, {
backgroundImagePosition: '0 -' + subpage_style.top
});
/**
* index 顶部筛选项的详细点击
*/
mui(sealHeaderDom).on('tap', '#select', function(e) {
e.stopPropagation();
var _this = this;
puiShadeDom.style.display = 'block';
var mainWebview = plus.webview.getWebviewById('../pages/main.html');
mainWebview.setStyle({opacity: 0,mask: 'rgba(0, 0, 0, .2)'})
});
2***@qq.com (作者)
这个项目已经作废了,用原生开发了...
2021-01-02 08:50
喜欢技术的前端
回复 2***@qq.com:好滴吧
2021-01-04 09:17