判断当前对象
火狐谷歌等 event.target.id
ie678 event.srcElement.id
兼容性写法:
var targetId = event.target? event.target.id :event.srcElement.id;
document.body.style.overflow = “hidden”; //不显示滚动条
document.body.style.overflow = “visible”; //显示滚动条
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body{
height: 3000px;
}
#mask{
width: 100%;
height: 100%;
opacity: 0.4;
filter:alpha(opacity=40);
background-color: #000;
position: fixed; /*定位的盒子一定要有宽度*/
top: 0;
left: 0;
display: none;
}
#show{
width: 300px;
height: 300px;
background-color: #fff;
position: fixed;
top: 50%;
left: 50%;
margin:-150px 0 0 -150px;
display: none;
}
</style>
</head>
<body>
<a href="javascript:;" id="login">注册</a>
<a href="javascript:;">登录</a>
<div id="mask"></div>
<div id="show"></div>
</body>
</html>
<script>
function $(id){return document.getElementById(id)}
var login = $("login");
var mask = $("mask");
var show = $("show");
login.onclick = function (event) {
mask.style.display = "block";
show.style.display = "block";
document.body.style.overflow = "hidden"; //不显示滚动条
//取消冒泡
var event = event || window.event;
if(event && event.stopPropagation){
event.stopPropagation();
}else {
event.cancelBubble = true;
}
}
document.onclick = function (event) {
var event = event || window.event;
var targetId = event.target ? event.target.id : event.srcElement.id; //判断当前对象id
if(targetId != "show"){
mask.style.display = "none";
show.style.display = "none";
document.body.style.overflow = "visible"; //显示滚动条
}
}
</script>