javaScript动态图片切换实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>images-roll</title>
<style>
.carousel-container{width: 500px;height: 300px; position: relative;}
.carousel-container .carousel-img img {width: 100%;height: 300px;}
img.hot{display: block;}
.carousel-container .carousel-caption span{cursor: pointer;background-color: white;border-radius:6px;display:inline-block;width: 6px;height: 6px;}
.carousel-container .carousel-caption span.hot{width:18px;background-color: orange;}
.carousel-container .carousel-caption {position: absolute;left: 230px;bottom: 5px;}
</style>
<script>
let i = 0;
let timer;
window.onload = function(){
fn();
let spans = document.querySelectorAll('.carousel-container .carousel-caption span');
spans.forEach(function(object,index){
object.addEventListener('click',function(){
clearTimeout(timer);
i=index;
fn();
});
});
}
function fn(){
let imgs=document.querySelectorAll(".carousel-container .carousel-img img");
let spans = document.querySelectorAll(".carousel-container .carousel-caption span");
for(let j = 0; j<imgs.length;j++){
imgs[j].style.display='none';
spans[j].className='';
if(j==i){
imgs[j].style.display='block';
spans[j].className='hot';
}
}
i++;
if(i==imgs.length){
i=0;
}
timer=setTimeout(fn,3000);
}
</script>
</head>
<body>
<div class="carousel-container">
<div class="carousel-img">
<img src="imgs/1.jpg" alt="">
<img src="imgs/2.jpg" alt="" style="display: none;">
<img src="imgs/3.jpg" alt="" style="display: none;">
<img src="imgs/4.jpg" alt="" style="display: none;">
<img src="imgs/5.jpg" alt="" style="display: none;">
</div>
<div class="carousel-caption">
<span class="hot"></span>
<span ></span>
<span></span>
<span></span>
<span></span>
</div>
</div>
</body>
</html>