基于JavaScript实现全屏透明遮罩div层锁屏效果
废话不多说了,直接给大家写js代码了,代码如下所示:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>js全屏透明遮罩锁屏效果</title>
<metahttp-equiv="content-type"content="text/html;charset=gb2312">
<!--把下面代码加到<head>与</head>之间-->
<styletype="text/css">
#pageOverlay{visibility:hidden;position:fixed;top:0;left:0;z-index:1987;width:100%;height:100%;background:#000;filter:alpha(opacity=70);opacity:0.7;}
/*IE6fixed*/
*html{background:url(*)fixed;}
*htmlbody{margin:0;height:100%;}
*html#pageOverlay{position:absolute;left:expression(documentElement.scrollLeft+documentElement.clientWidth-this.offsetWidth);top:expression(documentElement.scrollTop+documentElement.clientHeight-this.offsetHeight);}
</style>
<scriptlanguage="javascript">
(function(){
//获取对象
var$=function(id){
returndocument.getElementById(id);
};
//遍历
vareach=function(a,b){
for(vari=0,len=a.length;i<len;i++)b(a[i],i);
};
//事件绑定
varbind=function(obj,type,fn){
if(obj.attachEvent){
obj['e'+type+fn]=fn;
obj[type+fn]=function(){obj['e'+type+fn](window.event);}
obj.attachEvent('on'+type,obj[type+fn]);
}else{
obj.addEventListener(type,fn,false);
};
};
//移除事件
varunbind=function(obj,type,fn){
if(obj.detachEvent){
try{
obj.detachEvent('on'+type,obj[type+fn]);
obj[type+fn]=null;
}catch(_){};
}else{
obj.removeEventListener(type,fn,false);
};
};
//阻止浏览器默认行为
varstopDefault=function(e){
e.preventDefault?e.preventDefault():e.returnValue=false;
};
//获取页面滚动条位置
vargetPage=function(){
vardd=document.documentElement,
db=document.body;
return{
left:Math.max(dd.scrollLeft,db.scrollLeft),
top:Math.max(dd.scrollTop,db.scrollTop)
};
};
//锁屏
varlock={
show:function(){
$('pageOverlay').style.visibility='visible';
varp=getPage(),
left=p.left,
top=p.top;
//页面鼠标操作限制
this.mouse=function(evt){
vare=evt||window.event;
stopDefault(e);
scroll(left,top);
};
each(['DOMMouseScroll','mousewheel','scroll','contextmenu'],function(o,i){
bind(document,o,lock.mouse);
});
//屏蔽特定按键:F5,Ctrl+R,Ctrl+A,Tab,Up,Down
this.key=function(evt){
vare=evt||window.event,
key=e.keyCode;
if((key==116)||(e.ctrlKey&&key==82)||(e.ctrlKey&&key==65)||(key==9)||(key==38)||(key==40)){
try{
e.keyCode=0;
}catch(_){};
stopDefault(e);
};
};
bind(document,'keydown',lock.key);
},
close:function(){
$('pageOverlay').style.visibility='hidden';
each(['DOMMouseScroll','mousewheel','scroll','contextmenu'],function(o,i){
unbind(document,o,lock.mouse);
});
unbind(document,'keydown',lock.key);
}
};
bind(window,'load',function(){
$('btn_lock').onclick=function(){
lock.show();
};
$('pageOverlay').onclick=function(){
lock.close();
};
});
})();
</script>
</head>
<body>
<!--把下面代码加到<body>与</body>之间-->
<buttonid="btn_lock"style="position:absolute;left:50%;top:40%;">开启锁屏</button>
<olid="test">
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
<li>www.nhooo.com</li>
</ol>
<divid="pageOverlay"></div>
</body>
</html>
下面一段代码是用js写的登录遮罩效果
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>遮罩</title>
<style>
#blanks{
display:none;
width:100%;
//height:100%;
height:100px;
position:absolute;
top:0;
background-color:#ccc;
z-index:1000;
-moz-opacity:0.7;
opacity:.70;
filter:alpha(opacity=70);
}
#login{
padding:18px;
display:none;
background-color:pink;
width:300px;
height:100px;
position:absolute;
left:400px;
top:20%;
z-index:1001;
}
</style>
</head>
<bodyonload="setHeight()">
<divid="content">
<inputtype="button"value="登陆"onclick="showLogin()">
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
<p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
</p>
</div>
<divid="blanks"></div>
<divid="login">
<formmethod="post">
用户名:<inputtype="text"name="username"><br/>
密 码:<inputtype="password"name="password"><br/>
<inputtype="submit"value="提交">
</form>
<divid="btnclose"style="position:absolute;left:93%;top:0%;z-index:5;">
<imgsrc="close.png"onclick="hidediv();"/>
</div>
</div>
</body>
</html>
<scripttype="text/javascript">
functionsetHeight()
{
varh=document.documentElement.scrollHeight;
document.getElementById("blanks").style.height=h+"px";
}
functionhidediv()
{
document.getElementById("login").style.display="none";
document.getElementById("blanks").style.display="none";
}
functionshowLogin()
{
document.getElementById("login").style.display="block";
document.getElementById("blanks").style.display="block";
}
</script>
以上所述是基于JavaScript实现全屏透明遮罩div层锁屏效果的相关内容,希望对大家有所帮助。