当前位置:首页 > JavaScript

js实现遮罩

2026-04-06 10:39:42JavaScript

使用CSS和HTML创建遮罩层

在HTML中添加一个遮罩层的div元素,通常放在body的最后部分以确保覆盖其他内容:

<div id="mask" class="mask"></div>

为遮罩层添加CSS样式,使其覆盖整个视窗并半透明:

js实现遮罩

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

控制遮罩层的显示与隐藏

使用JavaScript控制遮罩层的显示和隐藏:

// 显示遮罩层
function showMask() {
  document.getElementById('mask').style.display = 'block';
}

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

点击遮罩层关闭功能

为遮罩层添加点击事件,点击时隐藏遮罩层:

js实现遮罩

document.getElementById('mask').addEventListener('click', function() {
  hideMask();
});

配合模态框使用

遮罩层常与模态框配合使用,需要阻止事件冒泡:

<div id="modal" class="modal">
  <!-- 模态框内容 -->
</div>
document.getElementById('modal').addEventListener('click', function(e) {
  e.stopPropagation();
});

动画效果增强

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

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

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

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

标签: js
分享给朋友:

相关文章

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选框 co…

js实现刷新页面

js实现刷新页面

刷新页面的方法 在JavaScript中,可以通过多种方式实现页面刷新。以下是几种常见的方法: 使用 location.reload() 调用 location.reload() 方法可以重新加载当…