2776332953@qq.com
2776332953@qq.com
  • 发布:2019-01-30 10:39
  • 更新:2019-01-30 10:39
  • 阅读:165

【报Bug】主页面,子页面,create,层级关系

分类:HTML5+

我的,有主页面 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)'})  
    });  
2019-01-30 10:39 分享
已邀请:

要回复问题请先登录注册