代码:
<!DOCTYPE html>
<html>
<head>
<title>轮播图</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container {
position: relative;
overflow: hidden;
width: 600px;
height: 400px;
margin: 50px auto;
}
.slider {
position: absolute;
top: 0;
left: 0;
width: 300%;
height: 100%;
display: flex;
transition: transform 0.6s ease-in-out; /* 修改这一行 */
}
.slide {
flex: 1;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 48px;
color: #fff;
}
.slide1 {
background-color: #f44336;
}
.slide2 {
background-color: #2196f3;
}
.slide3 {
background-color: #4caf50;
}
.prev,
.next {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 50px;
height: 50px;
background-color: rgba(0, 0, 0, 0.5);
color: #fff;
font-size: 24px;
text-align: center;
line-height: 50px;
cursor: pointer;
}
.prev:hover,
.next:hover {
background-color: rgba(0, 0, 0, 0.8);
}
.prev {
left: 0;
}
.next {
right: 0;
}
.dots {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
display: flex;
}
.dot {
width: 10px;
height: 10px;
background-color: rgba(255, 255, 255, 0.5);
margin: 0 5px;
border-radius: 50%;
cursor: pointer;
}
.dot.active {
background-color: #fff;
}
</style>
</head>
<body>
<div class="container">
<div class="slider">
<div class="slide slide1">
<!-- <div style="display: flex;">
<img src="./img/honor/1.jpg" style="width: 200px;height: 200px;">
<img src="./img/honor/2.png" style="width: 200px;height: 200px;">
</div> -->
</div>
<div class="slide slide2">
<!-- <div style="display: flex;">
<img src="./img/honor/3.png" style="width: 200px;height: 200px;">
<img src="./img/honor/4.png" style="width: 200px;height: 200px;">
</div> -->
</div>
<div class="slide slide3">
<!-- <div style="display: flex;">
<img src="./img/honor/3.png" style="width: 200px;height: 200px;">
<img src="./img/honor/4.png" style="width: 200px;height: 200px;">
</div> -->
</div>
</div>
<div class="prev">❮</div>
<div class="next">❯</div>
<div class="dots">
<div class="dot active"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
</div>
<script>
let slideIndex = 1;
showSlides(slideIndex);
function plusSlides(n) {
showSlides(slideIndex += n);
}
function currentSlide(n) {
showSlides(slideIndex = n);
}
function showSlides(n) {
let i;
let slides = document.getElementsByClassName("slide");
let dots = document.getElementsByClassName("dot");
if (n > slides.length) { slideIndex = 1 }
if (n < 1) { slideIndex = slides.length }
for (i = 0; i < slides.length; i++) {
slides[i].style.transform = "translateX(" + ((i - slideIndex + 1) * 100) + "%)";
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
dots[slideIndex - 1].className += " active";
}
let timer = setInterval(function () { plusSlides(1) }, 3000);
let container = document.querySelector(".container");
container.addEventListener("mouseover", function () {
clearInterval(timer);
});
container.addEventListener("mouseout", function () {
timer = setInterval(function () { plusSlides(1) }, 3000);
});
let prev = document.querySelector(".prev");
prev.addEventListener("click", function () {
plusSlides(-1);
});
let next = document.querySelector(".next");
next.addEventListener("click", function () {
plusSlides(1);
});
let dots = document.querySelectorAll(".dot");
for (let i = 0; i < dots.length; i++) {
dots[i].addEventListener("click", function () {
currentSlide(i + 1);
});
}
</script>
</body>
</html>
效果图: