假设当我点击一个div时,会弹出一个全屏的遮罩层,里面内容显示四张图片,当我点击内容以外的区域,关闭遮罩层,请用jq方法实现并且给出完整的代码
时间: 2024-05-12 12:17:40 浏览: 146
jQuery点击弹出确认或取消删除特效
当用户点击div时,首先需要有一个事件监听,然后在事件处理程序中添加弹出遮罩层的代码。同时需要在遮罩层的外部添加一个点击事件,当用户点击遮罩层之外的区域时,关闭遮罩层。
下面是一个jQuery的实现代码示例:
HTML代码:
```
<div id="showLayer">点击弹出遮罩层</div>
<div id="overlay">
<div class="content">
<img src="image1.jpg">
<img src="image2.jpg">
<img src="image3.jpg">
<img src="image4.jpg">
</div>
</div>
```
CSS代码:
```
#overlay {
display: none;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
}
#overlay .content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#overlay img {
width: 100%;
height: auto;
}
```
jQuery代码:
```
$(function() {
// 为div添加点击事件
$('#showLayer').click(function() {
// 显示遮罩层
$('#overlay').fadeIn();
});
// 为遮罩层外的区域添加点击事件
$('#overlay').click(function(e) {
// 如果点击的是遮罩层外的区域,则关闭遮罩层
if ($(e.target).attr('id') == 'overlay') {
$('#overlay').fadeOut();
}
});
});
```
当用户点击div时,遮罩层将会显示出来,内容中显示四张图片。当用户点击遮罩层以外的区域时,遮罩层将会关闭。
阅读全文