效果展示
思维导图
页面布局
/* Part1: html */
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>轮播图</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="box">
<ul id="imglist">
<li><img src="images/1.jpg" alt=""></li>
<li><img src="images/2.jpg" alt=""></li>
<li><img src="images/3.jpg" alt=""></li>
<li><img src="images/4.jpg" alt=""></li>
<li><img src="images/5.jpg" alt=""></li>
</ul>
<ul id="btnlist">
<li class="btn active">1</li>
<li class="btn">2</li>
<li class="btn">3</li>
<li class="btn">4</li>
<li class="btn">5</li>
</ul>
</div>
</body>
<script src="js/script.js"></script>
</html>
网页布局
/* Part1: css */
* {
margin: 0px;
padding: 0px;
}
img{
width: 500px;
height: 300px;
}
.box {
height: 300px;
width: 500px;
margin: 100px auto;
border: 3px black double;
position: relative;
left: 0px;
overflow:hidden;
}
#imglist {
width: 2500px;
height:300px;
list-style: none;
position: absolute;
left: 0px;
}
#imglist li {
float: left;
}
#btnlist{
width: 160px;
left: 170px;
top:275px;
position:absolute;
list-style: none;
}
#btnlist li{
color: black;
text-align: center;
float: left;
width: 20px;
height: 20px;
margin-left:10px;
border-radius: 50%;
background-color:rgba(0,0,0, 0.1);
}
逻辑实现
/* Part1: JavaScript */
var index = 0;
var imglist = document.getElementById('imglist');
var btnlist = document.getElementById('btnlist');
var arrbtn = btnlist.getElementsByTagName('li');
function btnchange(index) {
for (var i = 0; i < 5; i++) {
if (i == index) {
arrbtn[i].style.backgroundColor = 'pink';
}
else {
arrbtn[i].style.backgroundColor = 'rgba(0,0,0,0.2)';
}
}
}
for (var i = 0; i < 5; i++) {
arrbtn[i].num = i;
arrbtn[i].onmouseover = function () {
index = this.num;
imglist.style.left = index * (-500) + 'px';
clearInterval(t);
btnchange(index);
this.onmouseout = function () {
t = setInterval(imgchange, 2000);
}
}
}
function imgchange() {
if (index == 4)
index = -1;
index++;
imglist.style.left = index * (-500) + 'px';
btnchange(index);
}
var t = setInterval(imgchange, 2000);
学无止境
欢迎浏览,评论🎄~