jquery遮罩层
jQuery遮罩层实现方法
通过jQuery实现遮罩层是网页开发中常见的需求,以下是几种常用方法:
基础遮罩层实现
创建HTML结构:
<div class="mask"></div>
<div class="content">需要显示的内容</div>
添加CSS样式:
.mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
z-index: 100;
display: none;
}
.content {
position: relative;
z-index: 101;
}
jQuery控制显示/隐藏:
// 显示遮罩
$('.mask').fadeIn();
// 隐藏遮罩
$('.mask').fadeOut();
带关闭功能的遮罩层
HTML增加关闭按钮:
<div class="mask">
<div class="popup">
<span class="close-btn">×</span>
弹出内容
</div>
</div>
补充CSS:
.popup {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: white;
padding: 20px;
z-index: 102;
}
.close-btn {
cursor: pointer;
float: right;
}
jQuery事件绑定:
$('.show-mask').click(function(){
$('.mask').fadeIn();
});
$('.close-btn').click(function(){
$('.mask').fadeOut();
});
高级遮罩层特性
- 禁止背景滚动:
$('.mask').fadeIn(); $('body').css('overflow', 'hidden');
$('.mask').fadeOut(); $('body').css('overflow', 'auto');
2. 点击遮罩层关闭:
```javascript
$('.mask').click(function(e){
if($(e.target).hasClass('mask')){
$(this).fadeOut();
}
});
- 动画效果增强:
$('.mask').fadeTo(200, 0.8); $('.popup').animate({ top: "50%", opacity: 1 }, 300);
插件推荐
-
BlockUI插件:
$.blockUI({ message: $('#dom-element'), css: { border: 'none', padding: '15px', backgroundColor: '#000', opacity: .5, color: '#fff' } }); -
SimpleModal插件:

$('#dom-element').modal({ opacity: 80, position: ['20%'] });
以上方法可根据实际需求选择使用,基础遮罩层适合简单需求,插件方案则提供更多功能和自定义选项。






