廢話不多說了,直接寫js程式碼了,程式碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>js全屏透明遮罩锁屏效果</title> <meta http-equiv="content-type" content="text/html;charset=gb2312"> <!--把下面代码加到<head>与</head>之间--> <style type="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;} /*IE6 fixed*/ * html{background:url(*) fixed;} * html body{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> <script language="javascript"> (function(){ // 获取对象 var $ = function (id){ return document.getElementById(id); }; // 遍历 var each = function(a, b) { for (var i = 0, len = a.length; i < len; i++) b(a[i], i); }; // 事件绑定 var bind = 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); }; }; // 移除事件 var unbind = 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); }; }; // 阻止浏览器默认行为 var stopDefault = function(e){ e.preventDefault ? e.preventDefault() : e.returnValue = false; }; // 获取页面滚动条位置 var getPage = function(){ var dd = document.documentElement, db = document.body; return { left: Math.max(dd.scrollLeft, db.scrollLeft), top: Math.max(dd.scrollTop, db.scrollTop) }; }; // 锁屏 var lock = { show: function(){ $('pageOverlay').style.visibility = 'visible'; var p = getPage(), left = p.left, top = p.top; // 页面鼠标操作限制 this.mouse = function(evt){ var e = 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){ var e = 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>之间--> <button id="btn_lock" style="position:absolute;left:50%;top:40%;">开启锁屏</button> <ol id="test"> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> <li>www.jb51.net</li> </ol> <div id="pageOverlay"></div> </body> </html>
下面一段程式碼是用js寫的登入遮罩效果
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-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> <body onload="setHeight()"> <div id="content"> <input type="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> <div id="blanks"></div> <div id="login"> <form method="post"> 用户名:<input type="text" name="username" ><br/> 密 码:<input type="password" name="password"><br/> <input type="submit" value="提交"> </form> <div id="btnclose" style="position:absolute;left:93%;top:0%;z-index:5;"> <img src="/static/imghwm/default1.png" data-src="close.png" class="lazy" onclick="hidediv();"/ alt="基於JavaScript實作全螢幕透明遮罩div層鎖定畫面效果_javascript技巧" > </div> </div> </body> </html> <script type="text/javascript"> function setHeight() { var h=document.documentElement.scrollHeight; document.getElementById("blanks").style.height=h+"px"; } function hidediv() { document.getElementById("login").style.display="none"; document.getElementById("blanks").style.display="none"; } function showLogin() { document.getElementById("login").style.display="block"; document.getElementById("blanks").style.display="block"; } </script>
以上所述是基於JavaScript實現全螢幕透明遮罩div層鎖定螢幕效果的相關內容,希望對大家有所幫助。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境