当前位置:首页 > 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 动画库(需引入库文件)

提供更强大的动画控制:

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

注意事项

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

js实现上下动

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

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableElem…

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Jav…

js实现vue

js实现vue

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

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document…