当前位置:首页 > JavaScript

js实现四张图片轮播

2026-01-30 20:33:35JavaScript

实现四张图片轮播的方法

HTML 结构

创建一个包含四张图片的轮播容器,并添加导航按钮。

js实现四张图片轮播

<div class="slider">
  <div class="slides">
    <img src="image1.jpg" alt="Image 1">
    <img src="image2.jpg" alt="Image 2">
    <img src="image3.jpg" alt="Image 3">
    <img src="image4.jpg" alt="Image 4">
  </div>
  <button class="prev">❮</button>
  <button class="next">❯</button>
</div>

CSS 样式

设置轮播容器的样式,确保图片水平排列且隐藏溢出部分。

js实现四张图片轮播

.slider {
  position: relative;
  width: 600px;
  height: 400px;
  margin: auto;
  overflow: hidden;
}

.slides {
  display: flex;
  transition: transform 0.5s ease;
}

.slides img {
  width: 600px;
  height: 400px;
  object-fit: cover;
}

.prev, .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
}

.prev { left: 10px; }
.next { right: 10px; }

JavaScript 逻辑

通过 JavaScript 控制图片轮播的切换逻辑。

const slides = document.querySelector('.slides');
const prevBtn = document.querySelector('.prev');
const nextBtn = document.querySelector('.next');
let currentIndex = 0;
const totalSlides = document.querySelectorAll('.slides img').length;

function updateSlide() {
  slides.style.transform = `translateX(-${currentIndex * 100}%)`;
}

prevBtn.addEventListener('click', () => {
  currentIndex = (currentIndex - 1 + totalSlides) % totalSlides;
  updateSlide();
});

nextBtn.addEventListener('click', () => {
  currentIndex = (currentIndex + 1) % totalSlides;
  updateSlide();
});

// 自动轮播(可选)
setInterval(() => {
  currentIndex = (currentIndex + 1) % totalSlides;
  updateSlide();
}, 3000);

扩展功能

  1. 添加指示器:在轮播底部添加小圆点指示当前显示的图片。
  2. 触摸支持:通过监听 touchstarttouchend 事件实现触摸滑动。
  3. 无限循环:通过克隆第一张和最后一张图片实现无缝轮播。

注意事项

  • 确保图片路径正确,尺寸一致。
  • 调整 transition 时间和 setInterval 时间以控制轮播速度。
  • 响应式设计需额外处理,例如通过 window.addEventListener('resize') 动态调整宽度。

通过以上步骤,可以实现一个简单的四张图片轮播效果。

标签: 四张图片
分享给朋友:

相关文章

js实现图片放大缩小

js实现图片放大缩小

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

vue图片实现旋转

vue图片实现旋转

使用 CSS transform 实现图片旋转 在 Vue 中可以通过 CSS 的 transform 属性实现图片旋转效果。创建一个数据属性控制旋转角度,通过绑定样式动态更新。 <t…

vue实现图片滚动

vue实现图片滚动

实现图片滚动的 Vue 组件 使用 Vue 实现图片滚动效果可以通过自定义组件或第三方库完成。以下是两种常见方法: 方法一:使用 CSS 动画和 Vue 动态绑定 通过 Vue 的 v-for 和…

js实现图片移动

js实现图片移动

使用CSS和JavaScript实现图片移动 方法一:使用CSS动画结合JavaScript控制 通过CSS定义动画关键帧,JavaScript动态添加或移除动画类。 /* CSS部分 */ .m…

vue实现图片剪切

vue实现图片剪切

Vue 实现图片裁剪的方法 在 Vue 中实现图片裁剪功能,可以通过以下两种常见方式完成: 使用第三方库 cropperjs 安装 cropperjs 库: npm install cro…

vue实现图片复制

vue实现图片复制

Vue 实现图片复制功能 在 Vue 中实现图片复制功能通常涉及两种方式:通过剪贴板 API 或借助第三方库。以下是具体实现方法: 使用 Clipboard API(现代浏览器支持) 通过 navi…