轮播图的做法(更换背景图片)

Posted 菜鸟婷婷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轮播图的做法(更换背景图片)相关的知识,希望对你有一定的参考价值。

 

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"
<title>博客</title>
<style>

 

 

</style>

.top-photo{
width: 670px;
height: 280px;
float: left;
position:relative;
}
.top-photo img{
width: 670px;
height: 280px;
display: none;
}
.top-photo .selected{
display: block;
}
/*设置浮动*/
.top-photo ul {
float: right;
width: 120px;
position: absolute;
top:230px;
right: 20px;
}
.top-photo ul li{
list-style: none;
float: left;
width: 24px;
height: 24px;
border-radius:50%;
background:#666;
margin-left:5px;
display: inline-block;
text-align: center;
color: white;
}
/*设置轮播图里面的圆点颜色*/
.top-photo ul .orange{
background:#f77825;
}
.imgblock{
display: block;
}</style>


</head>
<body>

<!-- 轮播图的四个图片 -->
<div class="top-photo">
<img src="images/a1.jpg" class="selected" >
<img src="images/a2.jpg" >
<img src="images/a3.jpg" >
<img src="images/a4.jpg" >
<!-- 轮播图的四个圆点 -->
<ul >
<li class="orange" data-li="0">1</li>
<li data-li="1">2</li>
<li data-li="2">3</li>
<li data-li="3">4</li>
</ul>
</div>

<script>

//函数区域
// var imgs= document.querySelectorAll(".top-photo img");
function dingshiqi(){

var orange= document.querySelector(".orange");
var selected = document.querySelector(".selected");
// 如果orange有下一个兄弟,那么则把下一个变成orange,
if(orange.nextElementSibling != null){
orange.nextElementSibling.className = "orange";
orange.className = " ";

selected.nextElementSibling.className = "selected";
selected.className = "";


}else{
// 如果没有下一个兄弟,则父标签的第一个变成orange
orange.parentNode.firstElementChild.className = "orange";
orange.className = " ";

selected.parentNode.firstElementChild.className ="selected";
selected.className = " ";

}

}



//定时器
var timer = setInterval(dingshiqi,4000);


var liArray = document.querySelectorAll(".top-photo ul li");
// console.log(liArray);
for(var n=0;n<liArray.length; n++){
liArray[n].onclick = function(){
//1.清除之前的定时器
clearInterval(timer);

// //2.新建一个开启
// timer = setInterval(dingshiqi,4000);
for(var i=0;i<liArray.length; i++){
liArray[i].className=" ";
console.log(liArray[i]);
}
this.className="orange";
var imgArray = document.querySelectorAll(".top-photo img");
for(var a=0;a<imgArray.length;a++){
imgArray[a].style.display="none";
number = this.getAttribute("data-li");
imgArray[number].style.display="block";

}
}

}

</script>

以上是关于轮播图的做法(更换背景图片)的主要内容,如果未能解决你的问题,请参考以下文章

游民轮播图效果实现

原生js解决简单轮播图的切换

层叠轮播图的简易制作

用原生JS 写Web首页轮播图

简单轮播图的实现及原理讲解(js)

Vue组件开发--轮播图的实现