• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Html5页面点击遮罩层背景关闭遮罩层

    发布者: 浪子 | 发布时间: 2025-6-16 12:27| 查看数: 112| 评论数: 0|帖子模式

    今天团队同事接到一个需求,需求是这样的,点击页面按钮弹出红包弹窗,显示黑色遮罩层,点击遮罩层背景和弹窗关闭按钮要关闭弹窗,于是我就做了一个Demo出来,方便以后下次自己再遇到这种需求,上代码。
    html代码
    页面上只有一个展示的按钮,一个ID为bg的div作为灰色背景遮罩层使用,ID为popup的div作为红包弹窗,ID为close的div作为关闭按钮。
    1. <body>
    2.     <div class="btn" id="btn">展示</div>
    3.     <div class="bg" id="bg">
    4.         <div class="popup" id="popup">
    5.             <div class="close" id="close">X</div>
    6.         </div>
    7.     </div>
    8. </body>
    复制代码
    CSS代码
    css代码里面没什么技术难点,唯一要注意的是要给灰色背景的遮罩层一个绝对定位,top和lefe都为0就好了
    1.     body {
    2.         position: relative;
    3.     }
    4.     .btn {
    5.         width: 100px;
    6.         height: 40px;
    7.         line-height: 40px;
    8.         text-align: center;
    9.         margin:20px auto 0;
    10.         border: 1px solid #333;
    11.         border-radius: 10px;
    12.     }
    13.     .bg {
    14.         width: 100%;
    15.         height: 100%;
    16.         position: fixed;
    17.         top: 0;
    18.         left: 0;
    19.         background-color: rgba(0, 0, 0, .6);
    20.         display: none;
    21.     }
    22.     .popup {
    23.         width: 260px;
    24.         height: 320px;
    25.         background: red;
    26.         position: absolute;
    27.         top: 50%;
    28.         left: 50%;
    29.         transform: translate(-50%, -50%);
    30.         border-radius: 15px;
    31.      }
    32.     .popup .close {
    33.         width: 30px;
    34.         height: 30px;
    35.         line-height: 30px;
    36.         text-align: center;
    37.         position: absolute;
    38.         top: -40px;
    39.         right: 0px;
    40.         border: 1px solid #999;
    41.         border-radius: 50%;
    42.         color: #999;
    43.     }
    复制代码
    JS代码
    1.     var btn = document.getElementById('btn');
    2.     var bg = document.getElementById('bg');
    3.     var popup = document.getElementById('popup');
    4.     var closeBtn = document.getElementById('close');
    5.     // 点击展示按钮显示弹窗
    6.     btn.addEventListener('click', ()=> {
    7.         bg.style.display = 'block';
    8.     });
    9.     // 点击阴影遮罩层关闭弹窗
    10.     bg.addEventListener('click', (e)=> {
    11.         bg.style.display = 'none'
    12.     });
    13.     // 阻止冒泡事件,点击弹窗不会执行父元素的点击事件
    14.     popup.addEventListener('click', (e)=> {
    15.         e.stopPropagation();
    16.     });
    17.     // 点击关闭符号关闭弹窗
    18.     closeBtn.addEventListener('click', (e)=> {
    19.         e.stopPropagation();
    20.         bg.style.display = 'none'
    21.     })
    复制代码
    到此这篇关于Html5页面点击遮罩层背景关闭遮罩层的文章就介绍到这了,更多相关Html5关闭遮罩层内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/html5/754357.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表