屏蔽wheelscroll
大智若愚- 仅屏蔽document,不屏蔽弹窗内部scroll
HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>scrollWheel demo</title>
</head>
<body>
<div id="load">
<form>
<!--表单框-->
<div id="message"><div id="texts">表单</div></div>
<!--登陆按钮-->
<div ><input type="button" onclick="hideOverlay()" id="button" value="确定"></div>
</form>
</div>
<!--遮罩框-->
<div id="overlay"></div>
</body>
</html>
CSS
#overlay {
background: #000;
filter: alpha(opacity=50); /* IE的透明度 */
opacity: 0.5; /* 透明度 */
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 100; /* 此处的图层要大于页面 */
}
#load{
position:absolute;
top:50%;
left:50%;
z-index:-1;
width: 300px;
z-index: 200;
height: 230px;
margin: -150px 0 0 -150px;
background:white;
border-radius: 2px;;
vertical-align: middle;
display:none;
}
#message{
color:rebeccapurple;
text-align: center;
width: 300px;
height:180px;
}
#button{
width: 300px;
height: 50px;
background:orange;
}
JavaScript
/* 显示遮罩层 */
function showOverlay(){
$("#load").show()
$("#overlay").css("width",$(document).width())
$("#overlay").css("height",$(document).height())
// fadeTo第一个参数为速度,第二个为透明度
// 多重方式控制透明度,保证兼容性,但也带来修改麻烦的问题
$("#overlay").fadeTo(200, 0.5);
}
/* 隐藏覆盖层 */
function hideOverlay() {
$("#overlay").fadeOut(200);
$("#load").hide()
}
showOverlay();