이 기사의 예에서는 크기를 사용자 정의하고 두 번 클릭하여 닫을 수 있는 팝업 레이어 효과의 JS 구현을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
크기를 맞춤 설정할 수 있는 JS 팝업 레이어입니다. 더블클릭하면 레이어가 닫히고, 창이 팝업된 후 팝업 내에서 더블클릭하면 500, 300, 500, 500 크기의 창이 팝업됩니다. 마우스를 닫는 창입니다. 꽤 좋은 효과이고 JS 지식도 많이 배울 수 있는 것 같아요.
런닝 효과 스크린샷은 다음과 같습니다.
온라인 데모 주소는 다음과 같습니다.
http://demo.jb51.net/js/2015/js-define-close-able-alert-dlg-demo/
구체적인 코드는 다음과 같습니다.
<!DOCTYPE html> <html> <head> <title>JS弹出层</title> <style> body {margin:0px} #Loading {position:absolute;z-index:10;left:10px;top:10px;border:1px #666666 solid;background:#eeeeee;width:10px;height:10px} </style> <script LANGUAGE="JavaScript"> <!-- function $(){return document.getElementById?document.getElementById(arguments[0]):eval(arguments[0]);} var OverH,OverW,ChangeDesc,ChangeH=50,ChangeW=50; function OpenDiv(_Dw,_Dh,_Desc) { $("Loading").innerHTML=""; OverH=_Dh;OverW=_Dw;ChangeDesc=_Desc; $("Loading").style.display=''; if(_Dw>_Dh){ChangeH=Math.ceil((_Dh-10)/((_Dw-10)/50))}else if(_Dw<_Dh){ChangeW=Math.ceil((_Dw-10)/((_Dh-10)/50))} $("Loading").style.top=(document.documentElement.clientHeight-10)/2+"px"; $("Loading").style.left=(document.documentElement.clientWidth-10)/2+"px"; OpenNow() } var Nw=10,Nh=10; function OpenNow() { if (Nw>OverW-ChangeW)ChangeW=2; if (Nh>OverH-ChangeH)ChangeH=2; Nw=Nw+ChangeW;Nh=Nh+ChangeH; if(OverW>Nw||OverH>Nh) { if(OverW>Nw) { $("Loading").style.width=Nw+"px"; $("Loading").style.left=(document.documentElement.clientWidth-Nw)/2+"px"; } if(OverH>Nh) { $("Loading").style.height=Nh+"px"; $("Loading").style.top=(document.documentElement.clientHeight-Nh)/2+"px" } window.setTimeout("OpenNow()",10) }else{ Nw=10;Nh=10;ChangeH=50;ChangeW=50; $("Loading").innerHTML=ChangeDesc; } } //--> </script> </head> <body> <a href="javascript:OpenDiv(500,300,'层1<br>双击关闭')">层1 500*300</a><br><br> <a href="javascript:OpenDiv(500,200,'层2<br>双击关闭')">层2 500*200</a><br><br> <a href="javascript:OpenDiv(200,500,'层3<br>双击关闭')">层3 200*500</a><br><br> <a href="javascript:OpenDiv(500,500,'层4<br>双击关闭')">层4 500*500</a> <a href="javascript:OpenDiv(500,500,'层5<br>双击关闭')">层5 500*500</a> <div id="Loading" style="display:none" ondblclick="this.style.display='none'"></div> </body> </html>
이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이 되기를 바랍니다.