当前位置:首页 > JavaScript

js实现四张图片轮播

2026-01-30 20:33:35JavaScript

实现四张图片轮播的方法

HTML 结构

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

<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 样式

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

.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 控制图片轮播的切换逻辑。

js实现四张图片轮播

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') 动态调整宽度。

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

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

相关文章

vue实现图片单选

vue实现图片单选

实现图片单选功能 在Vue中实现图片单选功能可以通过v-model绑定选中状态,结合CSS样式控制选中效果。以下是具体实现方式: 基础实现方案 <template> <div…

js实现图片放大缩小

js实现图片放大缩小

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

js实现图片拖动

js实现图片拖动

实现图片拖动的步骤 使用JavaScript实现图片拖动功能,可以通过HTML5的拖放API结合事件监听实现。以下是具体方法: 设置HTML结构 为图片添加draggable属性,并设置唯一ID以便…

jquery图片放大

jquery图片放大

jQuery图片放大实现方法 使用jQuery实现图片放大功能可以通过多种方式完成,以下是几种常见且实用的方法: 使用jQuery Zoom插件 jQuery Zoom插件是一个轻量级的库,专门用于…

vue图片实现功能

vue图片实现功能

图片上传功能实现 使用 <input type="file"> 结合 Vue 的 v-on:change 事件监听文件选择 <template> <input ty…

vue实现图片识别

vue实现图片识别

Vue 实现图片识别的方法 使用 Tesseract.js 进行 OCR 识别 Tesseract.js 是一个基于 JavaScript 的 OCR 库,可以在浏览器中直接识别图片中的文字。在 Vu…