轮播图是一种常见的网页动态效果,用于展示多张图片或内容。在 JavaScript 中,可以通过以下步骤实现轮播图:

  1. 创建一个图片列表,包含需要展示的图片。
  2. 创建一个计数器变量,用于记录当前展示的图片。
  3. 创建一个定时器,每隔一段时间切换图片。
  4. 在定时器回调函数中,将计数器加 1,并根据计数器显示对应的图片。
  5. 如果计数器超过了图片列表的长度,将计数器重置为 0。
  6. 添加前进和后退按钮,点击按钮可以手动切换图片。

以下是一个基本的轮播图实现示例:

HTML 代码:

<div class='slider'>
  <img src='image1.jpg'>
  <img src='image2.jpg'>
  <img src='image3.jpg'>
</div>

<button id='prev'>Prev</button>
<button id='next'>Next</button>

CSS 样式:

.slider {
  position: relative;
  height: 300px;
}

.slider img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.slider img.active {
  opacity: 1;
}

JavaScript 代码:

var slider = document.querySelector('.slider');
var images = slider.querySelectorAll('img');
var prevBtn = document.querySelector('#prev');
var nextBtn = document.querySelector('#next');
var count = 0;

function showImage(n) {
  images[count].classList.remove('active');
  count = (n + images.length) % images.length;
  images[count].classList.add('active');
}

function nextImage() {
  showImage(count + 1);
}

function prevImage() {
  showImage(count - 1);
}

setInterval(nextImage, 5000);

prevBtn.addEventListener('click', prevImage);
nextBtn.addEventListener('click', nextImage);

showImage(0);

在这个示例中,我们首先获取轮播图容器和其中的所有图片,并初始化计数器为 0。然后,我们定义了一个 showImage 函数,用于切换图片,该函数会将当前图片的 active 类删除,并根据传入的参数切换到对应的图片,并将该图片的 active 类添加上去。

接着,我们定义了 nextImage 和 prevImage 函数,用于手动切换图片。这些函数只是调用 showImage 函数,并传入适当的参数来切换到下一张或上一张图片。

我们还添加了一个 setInterval 函数,用于定时自动切换图片,每隔 5 秒钟切换一次。

最后,我们在页面加载时调用 showImage(0) 函数,将第一张图片设置为活动图片。我们还为前进和后退按钮添加了单击事件监听器,以便响应用户的点击行为。


原文地址: https://www.cveoy.top/t/topic/lG94 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录