js實(shí)現(xiàn)簡單鎖屏功能實(shí)例
本文實(shí)例講述了js實(shí)現(xiàn)簡單鎖屏功能的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
//********* 鎖屏DIV *************************** function LockScreen(tag,title,width,height,url) { if (tag) //鎖屏 { var lockdiv = document.getElementById("lockscreen"); if (lockdiv!=null) { lockdiv.style.display = "block"; var subdiv = document.getElementById("subdialog"); if (subdiv!=null) { subdiv.style.display = "block"; document.getElementById("dialog1").src = url; } }else{ //創(chuàng)建新的鎖屏DIV,并執(zhí)行鎖屏 var tabframe= document.createElement("div"); tabframe.id = "lockscreen"; tabframe.name = "lockscreen"; tabframe.style.top = '0px'; tabframe.style.left = '0px'; tabframe.style.height = '100%'; tabframe.style.width = '100%'; tabframe.style.position = "absolute"; tabframe.style.filter = "Alpha(opacity=10)"; tabframe.style.backgroundColor="#000000"; tabframe.style.zIndex = "99998"; document.body.appendChild(tabframe); tabframe.style.display = "block"; //子DIV var subdiv = document.createElement("div"); subdiv.id = "subdialog"; subdiv.name = "subdialog"; subdiv.style.top = Math.round((tabframe.clientHeight-height)/2); subdiv.style.left = Math.round((tabframe.clientWidth-width)/2); subdiv.style.height = height+'px'; subdiv.style.width = width+'px'; subdiv.style.position = "absolute"; subdiv.style.backgroundColor="#000000"; subdiv.style.zIndex = "99999"; subdiv.style.filter = "Alpha(opacity=100)"; subdiv.style.border = "1px"; //subdiv.onmousemove = mouseMoveDialog; //subdiv.onmousedown = control_onmousedown; //subdiv.onmouseup = mouseUp; document.body.appendChild(subdiv); subdiv.style.display = "block"; //subdiv.onclick=UNLockScreen; var iframe_height = height-30; var titlewidth = width; var html = "<table border='0' cellpadding='0' cellspacing='0'>" html += "<tr><td></td><td>"; html += "<table><tr><td><font color='#FFFFFF'><b>"+title+"</b></font></td><td style='width:30px' valign='top'><img src='/images/images/close.gif' ></img></td></tr></table>"; html += "</td><td></td></tr>"; html += "<tr><td></td><td style='height:100px;'><iframe id='dialog1' frameborder=0 style='width:"+titlewidth+"px;height:" + iframe_height + "px' src='"+url+"'></iframe></td><td></td></tr>"; html += "<td></td><td></td><td></td>"; html += "</table>"; subdiv.innerHTML = html; } }else{ //解屏 var lockdiv = document.getElementById("lockscreen"); if (lockdiv!=null) { lockdiv.style.display = "none"; } var subdiv = document.getElementById("subdialog"); if (subdiv!=null) { subdiv.style.display = "none"; } } } function UNLockScreen(){ LockScreen(false); }
如果大家不知道什么是鎖屏,可以去163信箱看一看,用途是你要離開屏幕一段時(shí)間時(shí)可以暫時(shí)鎖住屏幕保留工作空間。帶回來只要重新輸入密碼驗(yàn)證即可恢復(fù)到原先的工作空間。
一般都是通過在頁面上增加不透明遮罩層實(shí)現(xiàn)鎖屏功能,或者是使用兩個(gè)區(qū)域互相顯示隱藏。使用框架(frame)構(gòu)建的網(wǎng)站如果要實(shí)現(xiàn)鎖屏功能則很有難度。因?yàn)樵诳蚣茼撁鏌o法使用div做層。而且框架也不支持css的display:none;屬性。
最后的實(shí)現(xiàn)方法是使用在FRAMESET內(nèi)再增加一個(gè)frame,出事狀態(tài)時(shí)FRAMESET的rows屬性將新增加的frame設(shè)置為高度為0。點(diǎn)擊鎖屏按鈕時(shí),則將FRAMESET中其他的frame的高度設(shè)置為0,將新增的frame高度設(shè)置為*。這樣我們就完成了frame的替換功能。解鎖后將 FRAMESET的rows屬性重新設(shè)置為初始值,屏幕恢復(fù)到原狀態(tài)。
這樣并沒有結(jié)束。如果用戶在屏幕上使用右鍵刷新,或者按F5鍵刷新頁面,就會(huì)繞過鎖屏的密碼校驗(yàn)功能??梢酝ㄟ^阻止F5和鼠標(biāo)右鍵的默認(rèn)實(shí)現(xiàn)達(dá)到目的。
//阻止F5或者鼠標(biāo)右鍵刷新,使鎖屏失效。 document.onkeydown = function(){ if(event.keyCode==116) { event.keyCode=0; event.returnValue = false; } } document.oncontextmenu = function() {event.returnValue = false;}
最后調(diào)用的方法:
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
js實(shí)現(xiàn)復(fù)選框的全選和取消全選效果
在很多網(wǎng)站都有這樣的功能,當(dāng)點(diǎn)擊一個(gè)全選按鈕之后,所有的復(fù)選框都會(huì)被選中,再點(diǎn)擊之后會(huì)取消全選,功能非常的人性化,可以省卻很多人力,本文將簡單介紹一下JS如何實(shí)現(xiàn)此功能2017-01-01JavaScript實(shí)現(xiàn)控制并發(fā)請(qǐng)求數(shù)量的方法詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript如何實(shí)現(xiàn)控制并發(fā)請(qǐng)求數(shù)量,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02javascript生成img標(biāo)簽的3種實(shí)現(xiàn)方法(對(duì)象、方法、html)
這篇文章主要介紹了javascript生成img標(biāo)簽的3種實(shí)現(xiàn)方法,包括對(duì)象、方法、html三種實(shí)現(xiàn)方式,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-12-12JS 實(shí)現(xiàn)導(dǎo)航欄懸停效果(續(xù)2)
發(fā)現(xiàn)原來的方法還有是有幾個(gè)問題:首先Js代碼冗余,導(dǎo)航條上的Tab是用js實(shí)現(xiàn)跳轉(zhuǎn)而不是超鏈接,還有導(dǎo)航條本身用fixed定位,但沒有被設(shè)置為水平居中,而是在JS中更改left值使其居中2013-09-09js案例之鼠標(biāo)跟隨jquery版(實(shí)例講解)
下面小編就為大家?guī)硪黄猨s案例之鼠標(biāo)跟隨jquery版(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript+CSS實(shí)現(xiàn)一個(gè)隨機(jī)顏色生成器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下2022-08-08javascript:FF/Chrome與IE動(dòng)態(tài)加載元素的區(qū)別說明
今天在寫一段js時(shí),發(fā)現(xiàn)IE與FF在動(dòng)態(tài)加載Html元素時(shí),有一些差別,一起過來看看下面的代碼吧2014-01-01