当前位置:首页 > 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实现高性能闪烁

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

js实现闪烁

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过渡属性实现平滑的闪烁效果:

js实现闪烁

.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实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

js实现tab选项卡切换

js实现tab选项卡切换

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

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…