$(“#artwl_boxcontain”).css(“width”, width + “px”).css(“top”, ($(window).height() – height) / 2).css(“left”, ($(window).width() – width) / 2).show();
$(“#artwl_mask”).css(“width”, $(window).width() + “px”).css(“height”, $(window).height() + “px”).css(“background”, “#888”);
$(“#artwl_close”).css(“top”, “30px”).css(“right”, “30px”).css(“font-size”, “20px”).text(“关闭”);
}
});
$(“#artwl_close”).click(function () {
$(“#artwl_mask”).hide();
$(“#artwl_boxcontain”).hide();
});
},
artwl_close:function(options){
options=$.extend({
callback:null
},options);
$(“#artwl_mask”).hide();
$(“#artwl_boxcontain”).hide();
if(options.callback!=null){
options.callback();
}
}
});
})(jQuery);
$(function () {
$.artwl_bind({ showbtnid: “btn_show”, title: “From Cnblogs Artwl”, content: $(“#Content”).html() });
});
function test() {
alert(“Before close”);
$.artwl_close({ callback: other });
}
function other() {
alert(“After close”);
}
</script>
</head>
<body>
<h3>弹出层插件jquery.artwl.thickbox.js(//www.jb51.net)</h3>
<input type=”button” value=”Click Me” id=”btn_show” />
<span id=”Content” style=”display:none;”>
<a href=”//www.jb51.net”>Artwl</a><br />
<input type=”button” onclick=”test()” value=”Test”/>
</span>
</body>
</html>
插件原理
所有弹出层的原理都差不多,就是用一个全屏半透明DIV做遮罩层,在这个遮罩层上再显示出一个层放要显示的内容,其他的就是CSS的运用了。
本插件为了使用简单,把JS跟CSS封装在了一个JS文件(插件)中,所以使用起来非常方便,做到了一行代码调用。
插件源代码
插件(jquery.artwl.thickbox.js)的源码如下:
/* File Created: 三月 1, 2012 Author:artwl blog:http://artwl.cnblogs.com */
;(function ($) {
$.extend({
artwl_bind: function (options) {
options=$.extend({
showbtnid:””,
title:””,
content:””
},options);
var mask = ‘<div id=”artwl_mask”></div>’;
var boxcontain = ‘<div id=”artwl_boxcontain”>
<a id=”artwl_close” href=”javascript:void(0);” title=”Close”></a>
<div id=”artwl_showbox”>
<div id=”artwl_title”>










