当前位置:首页 > JavaScript

js实现上下动

2026-04-07 10:30:35JavaScript

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

使用 CSS 动画结合 JavaScript 控制

通过 CSS 定义关键帧动画,JavaScript 动态添加或移除动画类。CSS 部分定义 @keyframes 上下移动效果:

@keyframes moveUpDown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}
.up-down-animation {
  animation: moveUpDown 1s infinite;
}

JavaScript 部分控制动画的启停:

const element = document.getElementById('targetElement');
element.classList.add('up-down-animation');

// 停止动画
// element.classList.remove('up-down-animation');

使用 JavaScript 定时器实现

通过 setInterval 动态修改元素的 toptransform 属性实现周期性移动。需确保元素定位方式为 relativeabsolute

const element = document.getElementById('targetElement');
let position = 0;
let direction = 1;
const speed = 2;

setInterval(() => {
  position += direction * speed;
  if (Math.abs(position) >= 20) direction *= -1;
  element.style.transform = `translateY(${position}px)`;
}, 16);

使用 requestAnimationFrame 优化性能

适合需要平滑动画的场景,避免定时器可能引起的卡顿:

const element = document.getElementById('targetElement');
let position = 0;
let direction = 1;
const speed = 0.1;

function animate() {
  position += direction * speed;
  if (Math.abs(position) >= 20) direction *= -1;
  element.style.transform = `translateY(${position}px)`;
  requestAnimationFrame(animate);
}
animate();

注意事项

js实现上下动

  • 使用 transform 比直接修改 top/left 性能更好
  • 移动元素需设置 position: relativeabsolute
  • 移动距离和速度可通过参数调整
  • 清除动画时需调用 cancelAnimationFrameclearInterval

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

相关文章

js实现轮播

js实现轮播

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

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…