在popover、侧滑菜单等界面,经常会用到蒙版遮罩;比如popover弹出后,除popover控件外的其它区域都会遮罩一层蒙版,用户点击蒙版不会触发蒙版下方的逻辑,而会关闭popover同时关闭蒙版;再比如侧滑菜单界面,菜单划出后,除侧滑菜单之外的其它区域都会遮罩一层蒙版,用户点击蒙版会关闭侧滑菜单同时关闭蒙版。
遮罩蒙版常用的操作包括:创建、显示、关闭,如下代码:
var mask = mui.createMask(callback);//callback为用户点击蒙版时自动执行的回调;
mask.show();//显示遮罩
mask.close();//关闭遮罩
mui默认的蒙版遮罩使用.mui-backdrop
类定义(如下代码),若需自定义遮罩效果,只需覆盖定义.mui-backdrop
即可;
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="css/mui.css" rel="stylesheet" />
<style type="text/css">
.mui-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 998;
background-color: rgba(0, 0, 0, .3);
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">遮罩</h1>
</header>
<div class="mui-content mui-content-padded">
<button id="btn" type="button" class="mui-btn mui-btn-blue mui-btn-block">按钮</button>
</div>
<script src="js/mui.min.js"></script>
<script type="text/javascript">
mui.init();
var btn = document.getElementById('btn');
btn.addEventListener('tap', function() {
//1、创建遮罩
var mask = mui.createMask(callback);//callback为用户点击蒙版时自动执行的回调;
//2、显示遮罩
mask.show();
//3、关闭遮罩
// mask.close();
});
// 回调函数
function callback() {
alert('触发遮罩');
}
</script>
</body>
</html>