萝卜特洛夫司机
萝卜特洛夫司机
  • 发布:2015-10-09 20:23
  • 更新:2015-10-10 11:52
  • 阅读:1677

helloh5的窗口遮罩为什么每次关闭时要把侧滑页面设成null

分类:MUI

这是那个方法,给页面添加了一个监听事件当close时,设置wc为null,
那么每次打开侧滑页面时都要新建一个wc。

var ws=null,wc=null;  
// 扩展API加载完毕,现在可以正常调用扩展API   
function plusReady(){  
    ws=plus.webview.currentWebview();  
    // 用户点击后  
    ws.addEventListener("maskClick",function(){  
        wc.close("auto");  
    },false);  
}  
// 判断扩展API是否准备,否则监听"plusready"事件  
if(window.plus){  
    plusReady();  
}else{  
    document.addEventListener("plusready",plusReady,false);  
}  

function showSide(){  
    // 防止快速点击可能导致多次创建  
    if(wc){  
        return;  
    }  
    // 开启遮罩  
    ws.setStyle({mask:"rgba(0,0,0,0.5)"});  
    // 创建侧滑页面  
    wc=plus.webview.create("webview_mask_side.html","side",{left:"30%",width:"70%",popGesture:"none"});  
    // 侧滑页面关闭后关闭遮罩  
    wc.addEventListener('close',function(){  
        ws.setStyle({mask:"none"});  
        wc=null;  
    },false);  
    // 侧滑页面加载后显示(避免白屏)  
    wc.addEventListener("loaded",function(){  
        wc.show("slide-in-right",200);  
    },false);  
}

如果我改成这样,第一下可以打开,第二下就无法打开侧滑页面了

function showSide(){  
    // 防止快速点击可能导致多次创建  
    if(!wc){  
        wc=plus.webview.create("webview_mask_side.html","side",      {left:"30%",width:"70%",popGesture:"none"});  
    }  
    // 开启遮罩  
    ws.setStyle({mask:"rgba(0,0,0,0.5)"});  
    // 侧滑页面关闭后关闭遮罩  
    wc.addEventListener('close',function(){  
        ws.setStyle({mask:"none"});  
    },false);  
    // 侧滑页面加载后显示(避免白屏)  
    wc.addEventListener("loaded",function(){  
        wc.show("slide-in-right",200);  
    },false);  
}  
2015-10-09 20:23 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

这是hello H5+工程中的代码?

建议参考Hello mui中的侧滑示例

  • 萝卜特洛夫司机 (作者)

    就是因为mui的侧滑菜单问题很多,我才选择H5+的方法。

    2015-10-10 20:22

该问题目前已经被锁定, 无法添加新回复