当前位置:首页 > JavaScript

js实现淡出

2026-03-15 09:03:18JavaScript

使用 CSS 过渡实现淡出效果

通过 CSS 的 transition 属性和 opacity 结合 JavaScript 实现平滑淡出效果。

const element = document.getElementById('target');
element.style.transition = 'opacity 1s ease-in-out';
element.style.opacity = '0';

// 淡出完成后移除元素(可选)
element.addEventListener('transitionend', () => {
  element.style.display = 'none';
});

使用 requestAnimationFrame 手动控制淡出

通过逐帧修改 opacity 实现更灵活的动画控制。

function fadeOut(element, duration) {
  let opacity = 1;
  const startTime = performance.now();

  function update() {
    const elapsed = performance.now() - startTime;
    opacity = 1 - Math.min(elapsed / duration, 1);
    element.style.opacity = opacity;

    if (opacity > 0) {
      requestAnimationFrame(update);
    } else {
      element.style.display = 'none';
    }
  }
  update();
}

fadeOut(document.getElementById('target'), 1000); // 1秒淡出

使用 CSS 动画(@keyframes

通过 CSS 动画定义淡出效果,用 JavaScript 触发动画。

CSS 部分

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

.fade-out {
  animation: fadeOut 1s forwards;
}

JavaScript 部分

const element = document.getElementById('target');
element.classList.add('fade-out');

// 动画结束后隐藏元素(可选)
element.addEventListener('animationend', () => {
  element.style.display = 'none';
});

使用第三方库(如 jQuery)

若项目中已引入 jQuery,可直接使用其 fadeOut() 方法。

js实现淡出

$('#target').fadeOut(1000); // 1秒淡出

注意事项

  • 性能优化:优先使用 CSS 过渡或动画,性能优于 JavaScript 逐帧修改。
  • 兼容性transitionendanimationend 事件需注意浏览器前缀(如 webkitTransitionEnd)。
  • 交互阻断:淡出期间若需禁用点击,可设置 pointer-events: none

标签: js
分享给朋友:

相关文章

js实现全屏

js实现全屏

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

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…