JavaScript案例-js轮播图
时间: 2023-08-08 17:06:17 浏览: 146
JavaScript案例-js轮播图
以下是一个使用 JavaScript 实现的简单的轮播图案例:
```html
<!DOCTYPE html>
<html>
<head>
<title>JavaScript 案例:轮播图</title>
<style>
#slideshow {
position: relative;
width: 600px;
height: 400px;
margin: 0 auto;
overflow: hidden;
}
#slideshow img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 1s ease-in-out;
}
#slideshow img.active {
opacity: 1;
}
#slideshow button {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: #fff;
border: none;
padding: 10px;
cursor: pointer;
font-size: 24px;
}
#slideshow button.prev {
left: 0;
}
#slideshow button.next {
right: 0;
}
</style>
<script>
var images = ["image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg"];
var index = 0;
var slideshow = document.getElementById("slideshow");
var prevButton = document.createElement("button");
var nextButton = document.createElement("button");
function init() {
prevButton.innerHTML = "❮";
prevButton.classList.add("prev");
prevButton.addEventListener("click", prevSlide);
nextButton.innerHTML = "❯";
nextButton.classList.add("next");
nextButton.addEventListener("click", nextSlide);
slideshow.appendChild(prevButton);
slideshow.appendChild(nextButton);
showSlide();
setInterval(nextSlide, 5000);
}
function showSlide() {
var img = document.createElement("img");
img.src = images[index];
img.classList.add("active");
slideshow.appendChild(img);
}
function hideSlide() {
var activeImg = slideshow.querySelector(".active");
activeImg.classList.remove("active");
slideshow.removeChild(activeImg);
}
function prevSlide() {
hideSlide();
index--;
if (index < 0) {
index = images.length - 1;
}
showSlide();
}
function nextSlide() {
hideSlide();
index++;
if (index >= images.length) {
index = 0;
}
showSlide();
}
window.addEventListener("load", init);
</script>
</head>
<body>
<h1>轮播图</h1>
<div id="slideshow"></div>
</body>
</html>
```
在这个案例中,我们使用了 JavaScript 来实现一个基本的轮播图。在 HTML 中,我们定义了一个包含图片的 div 元素,并使用 CSS 来设置其样式。在 JavaScript 中,我们定义了一个 images 数组来存储图片的文件名,一个 index 变量来记录当前显示的图片的索引,以及 prevButton 和 nextButton 两个按钮元素来控制切换图片。在 init 函数中,我们初始化轮播图,并设置了自动切换的定时器。在 showSlide 函数中,我们创建一个 img 元素,并将其添加到轮播图中。在 hideSlide 函数中,我们移除当前显示的图片。在 prevSlide 函数和 nextSlide 函数中,我们分别实现了向前和向后切换图片的逻辑。最后,我们在 window 的 load 事件中调用 init 函数来初始化轮播图。
阅读全文