当前位置:首页 > JavaScript

js实现上下动

2026-02-02 16:49:21JavaScript

实现元素上下移动的 JavaScript 方法

使用 CSS 动画结合 JavaScript

通过添加/移除 CSS 类控制动画效果:

.move-up-down {
  animation: bounce 1s infinite alternate;
}
@keyframes bounce {
  from { transform: translateY(0); }
  to { transform: translateY(-20px); }
}
const element = document.getElementById('target');
element.classList.add('move-up-down');
// 停止动画
element.classList.remove('move-up-down');

使用 requestAnimationFrame 实现平滑动画

通过递归调用实现精确控制:

let position = 0;
let direction = 1;
const speed = 2;

function animate() {
  position += speed * direction;
  if (position > 50 || position < 0) direction *= -1;
  element.style.transform = `translateY(${position}px)`;
  requestAnimationFrame(animate);
}
animate();

使用 setInterval 基础方法

适合简单的周期性移动:

let toggle = false;
setInterval(() => {
  element.style.top = toggle ? '20px' : '0px';
  toggle = !toggle;
}, 500);

使用 GSAP 动画库(需引入库文件)

提供更强大的动画控制:

js实现上下动

gsap.to('#target', {
  y: -30,
  duration: 0.5,
  repeat: -1,
  yoyo: true
});

注意事项

  • 对于性能敏感场景推荐使用 CSS 动画或 requestAnimationFrame
  • 元素需要设置 position 属性为 relative/absolute/fixed
  • 移动距离和速度可根据实际需求调整参数
  • 清除动画时需注意取消对应的定时器或动画帧请求

标签: 上下js
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现交换

js实现交换

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

js怎么实现异步

js怎么实现异步

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