很高兴为您提供帮助!这里是一个简单的 JavaScript 轮播示例。

HTML 代码:

<div class="slider">
  <img src="img1.jpg" alt="Slide 1" class="slide">
  <img src="img2.jpg" alt="Slide 2" class="slide">
  <img src="img3.jpg" alt="Slide 3" class="slide">
  <img src="img4.jpg" alt="Slide 4" class="slide">
  <img src="img5.jpg" alt="Slide 5" class="slide">
  <div class="prev"></div>
  <div class="next"></div>
</div>

CSS 代码:

.slider {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.slide.active {
  opacity: 1;
}
.prev, .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
}
.prev:hover, .next:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
.prev:before, .next:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border-top: 2px solid #333;
  border-left: 2px solid #333;
  transition: transform 0.3s ease-in-out;
}
.prev:hover:before, .next:hover:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.next:before {
  transform: translate(-50%, -50%) rotate(180deg);
}

JavaScript 代码:

var sliderIndex = 0;
var slides = document.getElementsByClassName("slide");
var prev = document.getElementsByClassName("prev")[0];
var next = document.getElementsByClassName("next")[0];

showSlide(sliderIndex);

function showSlide(index) {
  if (index < 0) {
    index = slides.length - 1;
  } else if (index >= slides.length) {
    index = 0;
  }
  for (var i = 0; i < slides.length; i++) {
    slides[i].classList.remove("active");
  }
  slides[index].classList.add("active");
}

prev.addEventListener("click", function() {
  sliderIndex--;
  showSlide(sliderIndex);
});

next.addEventListener("click", function() {
  sliderIndex++;
  showSlide(sliderIndex);
});

setInterval(function() {
  sliderIndex++;
  showSlide(sliderIndex);
}, 5000);

解释一下代码:

首先,我们定义了一个变量 sliderIndex 来跟踪当前显示的幻灯片。然后,我们获取所有幻灯片元素和上一张/下一张按钮元素,并定义一个 showSlide 函数来控制幻灯片的显示。在 showSlide 函数中,我们先检查给定的索引是否在幻灯片的范围内,如果不在,则将索引设置为对应的幻灯片。然后,我们循环遍历所有幻灯片元素,并将它们的 active 类删除,最后将当前幻灯片的 active 类添加。接下来,我们添加了两个事件侦听器来监听上一张/下一张按钮的点击事件,并在点击时更新 sliderIndex 并调用 showSlide 函数来显示相应的幻灯片。最后,我们使用 setInterval 函数来自动切换幻灯片,每隔 5 秒钟切换一次。

用js写个轮播

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

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