标签:images timer span interval val range onclick alt tle
html代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> *{ padding: 0; margin: 0; } .box{ width: 613px; height: 230px; margin: 0 auto; position: relative; } .box img{ width: 100%; height: 100%; position: absolute; top:0; left: 0; } .ctrols{ width: 112px; height: 16px; position: absolute; bottom: 26px; right: 60px; z-index: 999; } .ctrols span{ display: inline-block; border: 2px solid #fff; width: 12px; height: 12px; border-radius: 50%; margin-right: 8px; background-color: rgb(0,0,0,.2); } .box img:nth-child(1){ z-index: 1; } .ctrols span:nth-child(5){ margin-right: 0; } .ctrols span.on{ background-color: orange; } .arrow-left ,.arrow-right{ position: absolute; top: 50%; width: 30px; height: 50px; margin-top: -25px; background-color:rgb(0,0,0,.2); z-index: 10; font-size: 30px; color: #fff; text-align: center; line-height: 50px; } .arrow-left{ left: 0; } .arrow-right{ right: 0; } </style> </head> <body> <div class="box"> <img src="images/img01.jpg"/>//所用图片大家可以随意改变 <img src="images/img02.jpg"/> <img src="images/img03.jpg"/> <img src="images/img04.jpg"/> <img src="images/img05.jpg"/> <div class="ctrols"> <span class="on"></span><span></span><span></span><span></span><span></span> </div> <div class="arrow"> <div class="arrow-left"><</div> <div class="arrow-right">></div> </div> </div> </body> </html>
js代码:
<script>
var spans = document.getElementsByTagName("span");
var imgs = document.getElementsByTagName("img");
var arrowLeft = document.getElementsByClassName("arrow-left")[0];
var arrowRight = document.getElementsByClassName("arrow-right")[0];
var step = 0;//当前图片的的序号
//循环绑定span
for(var i=0; i<spans.length;i++){
spans[i].idx = i;//在某个span元素上添加一个属性 记住i的值
spans[i].onclick = function(){
step = this.idx;
//取消定时器
clearInterval(timer);
changeImg(this.idx);
}
}
var timer = setInterval(function(){
step++;
if(step === 5){
step = 0;
}
changeImg(step);
},2000);
// 封装一个图片切换函数
function changeImg(a){
// 让图片显示
// 对应的显示,其他隐藏
// 先让所有的隐藏
for(var j=0;j<imgs.length;j++){
imgs[j].style.display = "none";
spans[j].className = "";
}
// 再让对应的图片显示
imgs[a].style.display = "block";
// 当前span设置样式为on
// 先让所有的span移出on
// 再设置对应span
spans[a].className = "on";
}
//左单击
arrowLeft.onclick = function(){
clearInterval(timer);
step--;
if(step<0){
step = 4;
}
changeImg(step);
}
//右单击
arrowRight.onclick = function(){
clearInterval(timer);
step++;
if(step>4){
step = 0;
}
changeImg(step);
}
</script>
静态效果:

标签:images timer span interval val range onclick alt tle
原文地址:https://www.cnblogs.com/Allensangel/p/11260360.html