基于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层锁屏效果的相关内容,希望对大家有所帮助。