当前位置:首页 > JavaScript

js实现图片循环滚动

2026-02-28 20:39:58JavaScript

实现图片循环滚动的JavaScript方法

使用CSS动画结合JavaScript

通过CSS的@keyframes定义动画效果,JavaScript动态控制动画启停和重置。HTML结构中需要将图片横向排列在容器内。

<div class="scroll-container">
  <div class="image-track">
    <img src="image1.jpg" alt="">
    <img src="image2.jpg" alt="">
    <!-- 更多图片 -->
  </div>
</div>
.scroll-container {
  width: 100%;
  overflow: hidden;
}
.image-track {
  display: flex;
  animation: scroll 20s linear infinite;
}
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
const track = document.querySelector('.image-track');
// 克隆图片节点实现无缝循环
track.innerHTML += track.innerHTML;
// 鼠标悬停暂停动画
track.addEventListener('mouseenter', () => {
  track.style.animationPlayState = 'paused';
});
track.addEventListener('mouseleave', () => {
  track.style.animationPlayState = 'running';
});

纯JavaScript实现动态滚动

通过定时器动态修改translateX值,适合需要精确控制滚动速度的场景。

const container = document.querySelector('.scroll-container');
const track = document.querySelector('.image-track');
let position = 0;
const speed = 1; // 像素/帧

function animate() {
  position -= speed;
  if (position <= -track.scrollWidth/2) {
    position = 0;
  }
  track.style.transform = `translateX(${position}px)`;
  requestAnimationFrame(animate);
}
animate();

使用第三方库(Swiper.js)

对于复杂需求,推荐使用成熟的轮播库:

js实现图片循环滚动

<link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css">
<div class="swiper">
  <div class="swiper-wrapper">
    <div class="swiper-slide"><img src="image1.jpg"></div>
    <div class="swiper-slide"><img src="image2.jpg"></div>
  </div>
</div>
import Swiper from 'swiper';
new Swiper('.swiper', {
  loop: true,
  autoplay: {
    delay: 3000,
  },
  speed: 800
});

注意事项

  • 图片容器宽度应设置为所有图片总宽度,避免出现空白
  • 移动端需添加touch事件支持
  • 性能优化:对图片使用will-change: transform提升渲染性能
  • 无限循环建议克隆首尾图片,避免出现滚动间隙

标签: 图片js
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

react如何渲染图片

react如何渲染图片

在React中渲染图片的方法 使用<img>标签直接引入本地图片 将图片文件放入项目目录(如src/assets),通过相对路径引入。需注意Webpack可能需要配置file-loader…

react如何引用图片

react如何引用图片

在React中引用图片的方法 使用import直接引入图片 在React组件中,可以通过import语句将图片作为模块引入。这种方式适合在组件内部使用图片,Webpack会处理图片的路径和打包。 i…