在做网站的开发过程中,可能需要使用弹出层,使用jquery的blockui插件可以很轻松的实现这个效果。blockui可以在你发送ajax请求的时候,显示一个遮罩层禁止用户对页面进行操作并显示提示信息;或者用来显示一个登陆窗口,也可用来显示图片等。
blockui插件主要使用blockUI和unblockUI两个方法来控制弹出层的显示或者隐藏,可以在blockUI方法中指定一些参数,来控制弹出层显示的内容,大小,位置等。blockUI方法的常用的参数有:message,css,overlayCSS,showOverlay。
message:主要用来设置要显示的内容,可以直接设置为一段文字,html代码或者使用jquery获取页面上隐藏的div。
css:主要用来设置弹出层的样式,包括弹出层的位置,大小,边框等。
overlayCSS:主要用来设置遮罩层的样式,包括背景色,透明度等。
showOverlay:主要用来设置是否显示遮罩层,如果要隐藏遮罩层可以设置为false。
下面通过一些例子来看看具体的用法,在页面导入jquery.min.js和jquery.blockui.js文件,具体实现代码如下:
$("#btnSubmit").click(function () {
$.blockUI({
message: $("#loginForm"),
css: {
'300px',
height: '300px',
left: ($(window).width() - 300) / 2 + 'px',
top: ($(window).height() - 300) / 2 + 'px',
border: 'none'
}
});
});
$("#btnLogin").click(function () {
$.blockUI({
message: "<h2>正在登录,请稍候……</h2>",
css: {
border: '1px solid black'
}
});
setTimeout(function () { $.unblockUI() }, 1000);
});
$("#btnCancel").click(function () {
$.unblockUI();
});
<div id="loginForm" style="display:none">
<table>
<tr>
<td>用户名:</td>
<td><input id="txtUserName" type="text" /></td>
</tr>
<tr>
<td>密 码:</td>
<td><input id="txtPwd" type="text" /></td>
</tr>
<tr>
<td><input id="btnLogin" type="button" value="登录" /></td>
<td><input id="btnCancel" type="button" value="取消" /></td>
</tr>
</table>
</div>