L'exemple de cet article décrit l'implémentation JS d'un effet de calque contextuel qui peut être personnalisé en taille et fermé par double-clic. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Il s'agit d'un calque contextuel JS avec une taille personnalisable. Double-cliquez pour fermer le calque, et des fenêtres de tailles 500, 300 ou 500, 500 peuvent apparaître. Une fois la fenêtre affichée, double-cliquez dans la fenêtre contextuelle. -fenêtre pour fermer la souris. Je pense que c'est un très bon effet et que vous pouvez apprendre beaucoup de connaissances sur JS.
La capture d'écran de l'effet en cours d'exécution est la suivante :
L'adresse de la démo en ligne est la suivante :
http://demo.jb51.net/js/2015/js-define-close-able-alert-dlg-demo/
Le code spécifique est le suivant :
<!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>
J'espère que cet article sera utile à la programmation JavaScript de chacun.