当前位置:首页 > JavaScript

js实现闪烁

2026-04-04 00:51:37JavaScript

实现元素闪烁效果

使用CSS动画结合JavaScript控制元素的闪烁效果。定义一个关键帧动画,通过JavaScript动态添加或移除动画类。

.blink {
  animation: blink-animation 1s infinite;
}
@keyframes blink-animation {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}
const element = document.getElementById('target');
element.classList.add('blink');

// 停止闪烁
function stopBlinking() {
  element.classList.remove('blink');
}

使用setInterval实现

通过定时器交替改变元素的可见性来实现闪烁效果。这种方法兼容性更好但性能略低于CSS动画。

js实现闪烁

const element = document.getElementById('target');
let isVisible = true;
const interval = setInterval(() => {
  isVisible = !isVisible;
  element.style.visibility = isVisible ? 'visible' : 'hidden';
}, 500);

// 停止闪烁
clearInterval(interval);

使用requestAnimationFrame

对于需要更精细控制的动画效果,可以使用requestAnimationFrame API。这种方法性能最佳,适合复杂的动画场景。

js实现闪烁

const element = document.getElementById('target');
let start = null;
let opacity = 1;

function blink(timestamp) {
  if (!start) start = timestamp;
  const progress = (timestamp - start) % 1000;
  opacity = Math.abs(Math.cos(progress * Math.PI / 500));
  element.style.opacity = opacity;
  requestAnimationFrame(blink);
}

requestAnimationFrame(blink);

使用CSS transition

通过JavaScript动态改变样式属性,结合CSS过渡效果实现平滑的闪烁。

.fade {
  transition: opacity 0.5s ease-in-out;
}
const element = document.getElementById('target');
element.classList.add('fade');

function toggleBlink() {
  const currentOpacity = parseFloat(getComputedStyle(element).opacity);
  element.style.opacity = currentOpacity === 1 ? 0 : 1;
}

const interval = setInterval(toggleBlink, 1000);

注意事项

不同方法各有优缺点:CSS动画性能最好但控制不够灵活;setInterval简单但可能引起性能问题;requestAnimationFrame最流畅但实现较复杂。根据具体需求选择合适方案。

闪烁频率可以通过调整动画时间或间隔时间来改变。避免过度使用闪烁效果,以免影响用户体验。

标签: js
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…