L'exemple de cet article décrit l'implémentation jQuery d'un plug-in de couche flottante qui fait apparaître une couche fermable en cliquant sur un bouton. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Il s'agit d'un plug-in de couche pop-up Jquery adapté du plug-in pop-up Bird Js. Appuyez sur ÉCHAP pour fermer la fenêtre. Il n'y a pas de style par défaut. Vous pouvez écrire des styles selon vos propres projets. Le code de la couche contextuelle est très petit, la version minimale n'est que de 1,15 Ko et cela vaut la peine de l'utiliser car il est petit. J'espère que certains internautes pourront l'améliorer et la rendre plus petite.
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-close-able-alert-dlg-plug-codes/
Le code spécifique est le suivant :
<!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>jquery实现可拖动弹出层特效</title> <script src="jquery-1.6.2.min.js" type="text/javascript"></script> <script type="text/javascript"> function popWin(a){function n(){var a=k?k:document.body,b=a.scrollHeight>a.clientHeight?a.scrollHeight:a.clientHeight,c=a.scrollWidth>a.clientWidth?a.scrollWidth:a.clientWidth;$("#maskLayer").css({height:b,width:c})}var d,e,b=9e3,c=!1,f=$("#"+a),g=f.width(),h=f.height(),i=f.find(".tit"),j=f.find(".close"),k=document.documentElement,l=($(document).width()-f.width())/2,m=(k.clientHeight-f.height())/2;f.css({left:l,top:m,display:"block","z-index":b- -1}),i.mousedown(function(a){c=!0,d=a.pageX-parseInt(f.css("left")),e=a.pageY-parseInt(f.css("top")),f.css({"z-index":b- -1}).fadeTo(50,.5)}),i.mouseup(function(){c=!1,f.fadeTo("fast",1)}),$(document).mousemove(function(a){if(c){var b=a.pageX-d;0>=b&&(b=0),b=Math.min(k.clientWidth-g,b)-5;var i=a.pageY-e;0>=i&&(i=0),i=Math.min(k.clientHeight-h,i)-5,f.css({top:i,left:b})}}),j.live("click",function(){$(this).parent().parent().hide().siblings("#maskLayer").remove()}),$('<div id="maskLayer"></div>').appendTo("body").css({background:"#000",opacity:".4",top:0,left:0,position:"absolute",zIndex:"8000"}),n(),$(window).bind("resize",function(){n()}),$(document).keydown(function(a){27==a.keyCode&&($("#maskLayer").remove(),f.hide())})} </script> <style type="text/css"> body{margin:0; padding:0;font-size:12px;} dt{padding:10px;} p{ height:100px; line-height:100px; border:1px solid #eee; margin:10px; } i{ font-style:normal;} #detail{ position:absolute;width:400px;height:200px;border:1px solid #ccc;background:#efefef; display:none;} #detail .tit{ background:#ddd; display:block; height:33px; cursor:move;} #detail .tit i{ float:right; line-height:33px; padding:0 8px;cursor:default;} #detail2{position:absolute;width:300px;height:100px;border:1px solid #555;background:#555;display:none;} #detail2 .tit{ background:#333; display:block; height:33px;cursor:move;} #detail2 .tit i{ float:right; line-height:33px; padding:0 8px; color:#777; cursor:default;} </style> </head> <body> <br /><br /> <center> <dl> <dt><button id="t1">点我弹一个</button></dt> <dt><button id="t2">点我再弹一个</button></dt> </dl> </center> <div id="detail"> <div class="tit"><i class="close">关闭</i></div> </div> <div id="detail2"> <div class="tit"><i class="close">关闭</i></div> 再弹出一个窗 </div> <script type="text/javascript"> $("#t1").click(function(){ popWin("detail"); }); $("#t2").click(function(){ popWin("detail2"); }); </script> <div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';"> </div> </body> </html>
J'espère que cet article sera utile à la programmation jQuery de chacun.