当前位置:首页 > JavaScript

js 实现遮罩

2026-02-02 07:30:56JavaScript

实现遮罩的基本方法

使用HTML和CSS创建遮罩层,通过JavaScript控制其显示和隐藏。遮罩层通常是一个半透明的div,覆盖在整个页面上方。

<div id="mask" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:1000;"></div>
// 显示遮罩
function showMask() {
    document.getElementById('mask').style.display = 'block';
}

// 隐藏遮罩
function hideMask() {
    document.getElementById('mask').style.display = 'none';
}

带内容的遮罩实现

遮罩层可以包含其他内容,如加载提示或对话框。

<div id="mask" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:1000;">
    <div style="position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:white; padding:20px;">
        加载中...
    </div>
</div>

点击遮罩关闭功能

为遮罩添加点击事件,点击后自动关闭。

document.getElementById('mask').addEventListener('click', function() {
    this.style.display = 'none';
});

使用CSS类管理样式

将样式移至CSS文件中,提高可维护性。

.mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
}

.mask-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 20px;
}
function toggleMask(show) {
    document.getElementById('mask').style.display = show ? 'block' : 'none';
}

动画效果增强

为遮罩添加淡入淡出动画效果。

js 实现遮罩

.mask {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mask.show {
    opacity: 1;
}
function showMask() {
    const mask = document.getElementById('mask');
    mask.classList.add('show');
    mask.style.display = 'block';
}

function hideMask() {
    const mask = document.getElementById('mask');
    mask.classList.remove('show');
    setTimeout(() => {
        mask.style.display = 'none';
    }, 300);
}

标签: js
分享给朋友:

相关文章

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数:…