当前位置:首页 > JavaScript

js实现闪烁效果

2026-01-30 14:15:31JavaScript

使用 CSS 动画实现闪烁

通过 @keyframes 定义动画,结合 opacitybackground-color 属性实现闪烁效果:

.blink {
  animation: blink 1s infinite;
}

@keyframes blink {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

JavaScript 动态添加类名:

const element = document.getElementById('target');
element.classList.add('blink');

使用 setInterval 定时切换样式

通过定时修改元素的 visibilitydisplay 属性实现闪烁:

js实现闪烁效果

const element = document.getElementById('target');
let visible = true;

setInterval(() => {
  visible = !visible;
  element.style.visibility = visible ? 'visible' : 'hidden';
}, 500);

使用 requestAnimationFrame 高性能动画

通过递归调用 requestAnimationFrame 实现平滑闪烁:

const element = document.getElementById('target');
let startTime = null;

function blink(timestamp) {
  if (!startTime) startTime = timestamp;
  const elapsed = timestamp - startTime;
  const progress = (elapsed % 1000) / 1000;

  element.style.opacity = Math.abs(progress - 0.5) * 2;
  requestAnimationFrame(blink);
}

requestAnimationFrame(blink);

颜色闪烁效果

修改元素的背景色或文字颜色实现彩色闪烁:

js实现闪烁效果

const element = document.getElementById('target');
const colors = ['red', 'blue', 'green', 'yellow'];
let index = 0;

setInterval(() => {
  element.style.color = colors[index];
  index = (index + 1) % colors.length;
}, 300);

结合 CSS 变量动态控制

通过 JavaScript 修改 CSS 变量实现灵活控制:

:root {
  --blink-opacity: 1;
}

.blink-var {
  opacity: var(--blink-opacity);
}

JavaScript 控制:

document.documentElement.style.setProperty('--blink-opacity', '0');

以上方法可根据需求选择,CSS 动画性能最优,setInterval 兼容性最好,requestAnimationFrame 适合复杂动画场景。

标签: 效果js
分享给朋友:

相关文章

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

vue实现气泡效果

vue实现气泡效果

实现气泡效果的方法 在Vue中实现气泡效果可以通过CSS动画、第三方库或自定义组件完成。以下是几种常见方法: 使用纯CSS动画 通过CSS的@keyframes和transform属性创建气泡上升动…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…