当前位置:首页 > 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
分享给朋友:

相关文章

vue实现定位效果

vue实现定位效果

使用Geolocation API实现定位 在Vue中可以通过浏览器内置的Geolocation API获取用户位置信息。需要在组件的mounted钩子中调用相关方法: mounted() {…

js实现全屏

js实现全屏

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

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…