当前位置:首页 > JavaScript

js实现闪烁

2026-01-30 09:17:42JavaScript

使用CSS动画实现闪烁效果

通过CSS的@keyframes规则定义闪烁动画,再利用JavaScript动态添加/移除类名触发效果:

.blink {
  animation: blink 1s infinite;
}

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

// 停止闪烁
// element.classList.remove('blink');

使用setInterval定时切换样式

通过JavaScript定时器周期性修改元素的透明度或显示状态:

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

// 停止闪烁
// clearInterval(interval);

使用requestAnimationFrame实现高性能闪烁

适合需要平滑动画效果的场景:

const element = document.getElementById('target');
let start = null;
function blink(timestamp) {
  if (!start) start = timestamp;
  const progress = (timestamp - start) % 1000;
  element.style.opacity = Math.abs(500 - progress) / 500;
  requestAnimationFrame(blink);
}
requestAnimationFrame(blink);

快速颜色闪烁实现

通过交替改变背景色实现醒目闪烁效果:

const element = document.getElementById('target');
let isRed = false;
setInterval(() => {
  isRed = !isRed;
  element.style.backgroundColor = isRed ? 'red' : 'transparent';
}, 300);

带缓动效果的闪烁

使用CSS过渡属性实现平滑的闪烁效果:

.smooth-blink {
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
}

.smooth-blink.hidden {
  opacity: 0;
}
const element = document.getElementById('target');
element.classList.add('smooth-blink');
setInterval(() => {
  element.classList.toggle('hidden');
}, 1000);

渐强渐弱闪烁模式

实现更自然的呼吸灯效果:

const element = document.getElementById('target');
let opacity = 1;
let direction = -0.05;
function breathe() {
  opacity += direction;
  if (opacity <= 0.3 || opacity >= 1) direction *= -1;
  element.style.opacity = opacity;
  requestAnimationFrame(breathe);
}
breathe();

随机间隔闪烁

创建更自然的警示效果:

const element = document.getElementById('target');
function randomBlink() {
  element.style.visibility = 
    element.style.visibility === 'hidden' ? 'visible' : 'hidden';
  setTimeout(randomBlink, 200 + Math.random() * 800);
}
randomBlink();

js实现闪烁

标签: js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现动画

js实现动画

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

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="sli…