当前位置:首页 > JavaScript

js实现动画效果代码

2026-04-04 07:30:39JavaScript

使用 CSS 和 JavaScript 实现基础动画

通过修改元素的 style 属性实现简单动画效果。以下代码使一个方块水平移动:

js实现动画效果代码

const box = document.getElementById('box');
let position = 0;

function animate() {
  position += 2;
  box.style.left = position + 'px';

  if (position < 200) {
    requestAnimationFrame(animate);
  }
}

animate();

使用 CSS 类切换实现动画

定义 CSS 动画关键帧,通过 JavaScript 切换类名触发:

js实现动画效果代码

@keyframes slide {
  from { transform: translateX(0); }
  to { transform: translateX(200px); }
}

.box {
  width: 100px;
  height: 100px;
  background: blue;
}

.box.animate {
  animation: slide 2s forwards;
}
document.getElementById('box').classList.add('animate');

使用 Web Animations API

现代浏览器支持的动画 API,提供更精细的控制:

const box = document.getElementById('box');
box.animate([
  { transform: 'translateX(0)' },
  { transform: 'translateX(200px)' }
], {
  duration: 1000,
  iterations: Infinity,
  direction: 'alternate'
});

使用第三方动画库(GSAP)

GSAP 提供强大的动画控制能力:

gsap.to("#box", {
  x: 200,
  duration: 1,
  repeat: -1,
  yoyo: true
});

性能优化建议

优先使用 CSS 动画处理简单效果,复杂交互使用 JavaScript 动画。避免频繁触发重排的属性如 width/height,改用 transformopacity 这类合成层属性。使用 requestAnimationFrame 替代 setTimeout 保证动画流畅性。

标签: 效果代码
分享给朋友:

相关文章

vue实现通讯录代码

vue实现通讯录代码

实现思路 Vue实现通讯录的核心在于数据管理和组件交互。通常需要包含联系人列表、搜索功能、分组索引以及添加/编辑功能。 基本结构 创建Vue组件时需包含以下部分: 数据模型:存储联系人数组 字母索…

js实现分页功能代码

js实现分页功能代码

分页功能实现方法 客户端分页(前端处理数据) 适用于数据量较小且已全部加载到前端的情况。 // 示例数据 const data = Array.from({length: 100}, (_, i)…

vue实现气泡效果

vue实现气泡效果

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

h5页面滑动效果实现

h5页面滑动效果实现

实现H5页面滑动效果的方法 H5页面滑动效果可以通过多种方式实现,包括原生JavaScript、CSS动画或第三方库。以下是几种常见的方法: 使用CSS Scroll Snap CSS Scroll…

vue抽奖代码实现

vue抽奖代码实现

Vue 抽奖代码实现 基础抽奖组件结构 使用 Vue 3 的 Composition API 实现抽奖功能,核心包括转盘动画、奖品列表和抽奖逻辑。以下为组件基础结构: <template>…

vue实现菜单效果

vue实现菜单效果

Vue实现菜单效果的方法 基础菜单实现 使用Vue的v-for指令和v-show/v-if可以快速实现基础菜单。通过数据驱动的方式渲染菜单项,结合事件处理实现交互。 <template>…