当前位置:首页 > JavaScript

js实现div动画

2026-03-15 16:48:50JavaScript

使用CSS动画和JavaScript触发

在HTML中定义一个div元素,为其添加CSS动画效果。通过JavaScript控制动画的播放或暂停。

<div id="animatedDiv" class="box"></div>
.box {
  width: 100px;
  height: 100px;
  background-color: red;
  position: relative;
  animation: move 2s infinite alternate;
}

@keyframes move {
  from { left: 0; }
  to { left: 200px; }
}
const div = document.getElementById('animatedDiv');
div.addEventListener('click', () => {
  div.style.animationPlayState = div.style.animationPlayState === 'paused' ? 'running' : 'paused';
});

使用JavaScript直接修改样式

通过定时器不断修改div的样式属性来实现动画效果。

js实现div动画

const div = document.getElementById('animatedDiv');
let position = 0;
const animate = () => {
  position += 5;
  div.style.left = position + 'px';
  if (position < 200) {
    requestAnimationFrame(animate);
  }
};
animate();

使用GSAP动画库

GSAP是一个强大的JavaScript动画库,可以创建复杂的动画效果。

js实现div动画

<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js"></script>
gsap.to("#animatedDiv", {
  duration: 2,
  x: 200,
  rotation: 360,
  ease: "bounce.out",
  repeat: -1,
  yoyo: true
});

使用Web Animations API

现代浏览器支持的Web Animations API可以直接用JavaScript创建和控制动画。

const div = document.getElementById('animatedDiv');
div.animate([
  { transform: 'translateX(0)' },
  { transform: 'translateX(200px)' }
], {
  duration: 1000,
  iterations: Infinity,
  direction: 'alternate',
  easing: 'ease-in-out'
});

使用CSS过渡效果

通过JavaScript添加或移除类来触发CSS过渡动画。

.box {
  transition: all 0.5s ease;
}
.box.move {
  transform: translateX(200px);
}
const div = document.getElementById('animatedDiv');
div.addEventListener('click', () => {
  div.classList.toggle('move');
});

标签: 动画js
分享给朋友:

相关文章

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

jquery动画

jquery动画

jQuery动画基础 jQuery提供了多种动画方法,用于创建平滑的过渡效果。常用的动画方法包括animate()、fadeIn()、fadeOut()、slideUp()和slideDown()。…

js计算器的实现

js计算器的实现

实现基础结构 HTML部分需要创建计算器的基本框架,包含显示区域和按钮。使用<div>容器包裹整个计算器,内部设置一个显示屏和多个按钮。 <div class="calculato…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…

vue实现进入动画

vue实现进入动画

Vue 进入动画实现方法 使用 Vue 的过渡系统实现进入动画,主要通过 <transition> 或 <transition-group> 组件结合 CSS 或 JavaSc…

vue实现动画特效

vue实现动画特效

Vue 实现动画特效的方法 Vue 提供了多种方式实现动画特效,主要通过内置组件和第三方库结合 CSS 或 JavaScript 完成。以下是常见的实现方法: 使用 Vue 内置过渡组件 Vue 的…