当前位置:首页 > JavaScript

js实现摆动

2026-02-01 23:03:14JavaScript

摆动动画实现方法

使用JavaScript实现摆动效果可以通过CSS动画或JavaScript直接操作元素属性完成。以下是几种常见方法:

使用CSS动画结合JavaScript

定义CSS关键帧动画:

@keyframes swing {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(15deg); }
  50% { transform: rotate(-10deg); }
  75% { transform: rotate(5deg); }
  100% { transform: rotate(0deg); }
}

通过JavaScript触发动画:

const element = document.getElementById('swing-element');
element.style.animation = 'swing 1s ease-in-out';

使用JavaScript定时器实现

通过requestAnimationFrame实现平滑摆动:

let angle = 0;
let direction = 1;
const speed = 0.1;
const maxAngle = 15;

function swing() {
  angle += speed * direction;
  if (angle > maxAngle || angle < -maxAngle) {
    direction *= -1;
  }
  element.style.transform = `rotate(${angle}deg)`;
  requestAnimationFrame(swing);
}

swing();

使用物理模拟摆动

实现更真实的物理摆动效果:

const element = document.getElementById('swing-element');
let angle = 0;
let velocity = 0;
const damping = 0.98;
const spring = 0.1;

function physicsSwing() {
  velocity += -angle * spring;
  velocity *= damping;
  angle += velocity;
  element.style.transform = `rotate(${angle}deg)`;
  requestAnimationFrame(physicsSwing);
}

// 初始推动
velocity = 0.5;
physicsSwing();

使用GSAP库实现

GSAP提供更强大的动画控制:

js实现摆动

gsap.to("#swing-element", {
  rotation: 15,
  duration: 0.5,
  ease: "sine.inOut",
  yoyo: true,
  repeat: -1
});

每种方法适用于不同场景,CSS动画适合简单效果,JavaScript实现提供更多控制,物理模拟适合真实感要求高的场景,GSAP适合复杂动画需求。

标签: js
分享给朋友:

相关文章

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js 实现滚动

js 实现滚动

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

js验证码实现

js验证码实现

验证码的基本原理 验证码(CAPTCHA)用于区分人类用户和自动化程序。常见类型包括图形验证码、滑动验证码、短信验证码等。JavaScript 可用于前端验证码的生成和验证逻辑。 图形验证码实现 使…