当前位置:首页 > JavaScript

js实现跳跃

2026-04-06 23:16:49JavaScript

实现跳跃效果的 JavaScript 方法

使用 CSS 动画结合 JavaScript 触发

通过 @keyframes 定义跳跃动画,再通过 JavaScript 动态添加类名触发动画。示例代码:

.jump-animation {
  animation: jump 0.5s ease;
}
@keyframes jump {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}
const element = document.getElementById('target');
element.addEventListener('click', () => {
  element.classList.add('jump-animation');
  setTimeout(() => element.classList.remove('jump-animation'), 500);
});

使用 requestAnimationFrame 实现物理跳跃

js实现跳跃

模拟重力加速度实现更真实的跳跃效果:

let position = 0;
let velocity = 0;
const gravity = 0.5;
const jumpForce = -10;

function jump() {
  velocity = jumpForce;
  updatePosition();
}

function updatePosition() {
  position += velocity;
  velocity += gravity;

  if (position > 0) {
    position = 0;
    return;
  }

  element.style.transform = `translateY(${position}px)`;
  requestAnimationFrame(updatePosition);
}

使用 GSAP 动画库实现高级跳跃

js实现跳跃

安装 GSAP 后可通过更简洁的代码实现复杂动画:

gsap.to("#target", {
  y: -50,
  duration: 0.3,
  yoyo: true,
  repeat: 1,
  ease: "power1.out"
});

注意事项

  • 移动端需考虑 touch 事件兼容
  • 性能敏感场景建议使用 transform 而非 top/left
  • 连续跳跃需添加状态锁防止重复触发
  • 可结合 sound.play() 添加音效增强体验

标签: js
分享给朋友:

相关文章

js实现复制到剪贴板

js实现复制到剪贴板

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

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…