currentWebview是获取当前窗口的webviewObject对象,返回值是:WebviewObject :Webview窗口对象。
Webview窗口对象,用于操作加载HTML页面的窗口;opener: 获取当前Webview窗口的创建者。
index.html页面中采用了plus.webview.currentWebview();创建菜单页面webview。那么就是返回到index.html页面,触发close事件后。
不用担心后期会再回到这篇博文的,会再次重新解释的,相信小编。
1 var menu = null, 2 main = null, 3 showMenu = false; 4 mui.plusReady(function() { main = plus.webview.currentWebview(); 7 main.addEventListener('maskClick', closeMenu); setTimeout(function() { 10 menu = mui.preload({ 11 id: 'index_menu', 12 url: 'html/index_menu.html', 13 styles: { 14 left: '0px', 15 width: '70%', 16 zindex: -1 17 }, 18 show: { 19 aniShow: 'none' 20 } 21 }); 22 }, 200); 23 });
index.html页面中通过上面这篇代码加载了侧滑菜单页面,虽然在开始的时候并没有显示出来侧滑菜单,但是已经加载了。
1 var isInTransition = false; openMenu() { 4 if(isInTransition) { 5 return; 6 } 7 if(!showMenu) { isInTransition = true; 10 menu.setStyle({ 11 mask: 'rgba(0,0,0,0)' 12 }); menu.show('none', 0, function() { main.setStyle({ left: '70%', duration: 150 21 } 22 }); 23 mui.later(function() { 24 isInTransition = false; 25 menu.setStyle({ 26 mask: 'none' 27 }); }, 160); 30 showMenu = true; 31 }); 32 } 33 }
既然已经加载了,那么当我们点击打开侧滑菜单的时候就会很快显示在我们的眼前。好了上面这串代码就是实现打开侧滑菜单。
什么是mask呢?官方文档中这样给我们说明:
在popover、侧滑菜单等界面,经常会用到蒙版遮罩;比如popover弹出后,除popover控件外的其它区域都会遮罩一层蒙版,用户点击蒙版不会触发蒙版下方的逻辑,而会关闭popover同时关闭蒙版;再比如侧滑菜单界面,菜单划出后,除侧滑菜单之外的其它区域都会遮罩一层蒙版,用户点击蒙版会关闭侧滑菜单同时关闭蒙版。
遮罩蒙版常用的操作包括:创建、显示、关闭,如下代码:
var mask = mui.createMask(callback);//callback为用户点击蒙版时自动执行的回调; mask.show();//显示遮罩 mask.close();//关闭遮罩
注意:关闭遮罩仅会关闭,不会销毁;关闭之后可以再次调用mask.show();打开遮罩;
mui默认的蒙版遮罩使用.mui-backdrop类定义(如下代码),若需自定义遮罩效果,只需覆盖定义.mui-backdrop即可;
.mui-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 998; background-color: rgba(0,0,0,.3); }
还有一个later是什么呢?不要着急,官方文档中有说明:
结合官方文档和前两篇博文提供的源代码,自己思考一下,敲一敲,试试看。
转载请注明出处,谢谢。