运用JavaScript制作图片的滚动和轮换,通过点击左右两侧的箭头可以实现焦点图按顺序切换,当鼠标滑动到下方的小圆点时,也可以实现图片的切换效果,通过for循环及条件语句的使用来制作一款多功能的焦点图轮播效果。实现五张图的轮播。五张图的大小为560x300,图片地址为实验十图片/0.jpg依次到实验十图片/4.jpg
时间: 2024-03-10 21:43:28 浏览: 89
好的,我可以教你如何实现这个功能。首先,你需要在HTML文件中创建一个包含图片的容器和用于切换图片的箭头和小圆点的元素。代码如下:
```html
<div class="slider">
<div class="slides">
<img src="实验十图片/0.jpg">
<img src="实验十图片/1.jpg">
<img src="实验十图片/2.jpg">
<img src="实验十图片/3.jpg">
<img src="实验十图片/4.jpg">
</div>
<div class="arrow left"></div>
<div class="arrow right"></div>
<div class="dots">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
</div>
```
接下来,你需要使用CSS样式来设置容器的大小和样式,并隐藏箭头和小圆点:
```css
.slider {
position: relative;
width: 560px;
height: 300px;
overflow: hidden;
}
.slides {
position: absolute;
top: 0;
left: 0;
width: 2800px;
}
.slides img {
float: left;
width: 560px;
height: 300px;
}
.arrow {
position: absolute;
top: 50%;
margin-top: -25px;
width: 50px;
height: 50px;
background-color: rgba(0, 0, 0, 0.5);
cursor: pointer;
transition: background-color 0.2s;
}
.arrow:hover {
background-color: rgba(0, 0, 0, 0.8);
}
.arrow.left {
left: 0;
}
.arrow.right {
right: 0;
}
.dots {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
}
.dot {
display: inline-block;
width: 10px;
height: 10px;
margin: 0 5px;
border-radius: 50%;
background-color: #ccc;
cursor: pointer;
}
.dot.active {
background-color: #333;
}
```
然后,你需要使用JavaScript来实现图片的滚动和轮换功能。代码如下:
```javascript
var slides = document.querySelector('.slides');
var slideIndex = 0;
var slideInterval = setInterval(nextSlide, 3000);
var dots = document.querySelectorAll('.dot');
function nextSlide() {
if (slideIndex === 4) {
slideIndex = 0;
} else {
slideIndex++;
}
slides.style.transform = 'translateX(' + (-slideIndex * 560) + 'px)';
updateDots();
}
function prevSlide() {
if (slideIndex === 0) {
slideIndex = 4;
} else {
slideIndex--;
}
slides.style.transform = 'translateX(' + (-slideIndex * 560) + 'px)';
updateDots();
}
function updateDots() {
for (var i = 0; i < dots.length; i++) {
dots[i].classList.remove('active');
}
dots[slideIndex].classList.add('active');
}
for (var i = 0; i < dots.length; i++) {
dots[i].addEventListener('click', function() {
slideIndex = Array.prototype.indexOf.call(dots, this);
slides.style.transform = 'translateX(' + (-slideIndex * 560) + 'px)';
updateDots();
});
}
document.querySelector('.arrow.left').addEventListener('click', prevSlide);
document.querySelector('.arrow.right').addEventListener('click', nextSlide);
```
这段JavaScript代码实现了自动轮播和手动切换图片的功能。当点击箭头时,会调用`prevSlide()`或`nextSlide()`函数来切换图片。当点击小圆点时,会调用`updateDots()`函数来更新当前选中的小圆点,并调用`nextSlide()`函数来切换到对应的图片。同时,也使用定时器实现了每隔3秒自动切换到下一张图片的功能。
阅读全文