页面中经常会用到各式各样的轮播图,今天贺贺为大家介绍一种常用的方法,对于JS我们需要举一反三,一种方法可以对多个轮播样式进行渲染。
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#box {
width: 590px;
height: 470px;
margin: 100px auto;
border: 1px solid #ececec;
position: relative;
}
#box p {
height: 14px;
margin: 0;
position: absolute;
bottom: 50px;
left: 50px;
}
#box p i {
display: block;
float: left;
margin-left: 10px;
width: 10px;
height: 10px;
border-radius: 7px;
border: 2px solid #999;
}
#box img {
/*display: block;*/
width: 590px;
height: 470px;
display: none;
}
#box p i.on {
background: #fff;
box-shadow: 0 0 3px #fff;
}
#box img.show {
display: block;
}
</style>
<script>
window.onload = function () {
var oBox = document.getElementById('box');
var aI = oBox.getElementsByTagName('i');
var aImg = oBox.getElementsByTagName('img');
for (var i = 0; i < aI.length; i++){
aI[i].index = i;
aI[i].onmouseover = function () {
for (var i = 0; i < aI.length; i++){
aI[i].className = '';
aImg[i].className = '';
}
this.className = 'on';
aImg[this.index].className = 'show';
}
}
}
</script>
</head>
<body>
<div id="box">
<p>
<i class="on"></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
</p>
<img src="../images/1.jpg" alt="" class="show">
<img src="../images/2.jpg" alt="">
<img src="../images/3.jpg" alt="">
<img src="../images/4.jpg" alt="">
<img src="../images/5.jpg" alt="">
<img src="../images/6.jpg" alt="">
<img src="../images/7.jpg" alt="">
</div>
</body>
此种方法通过 JS 来改变 HTML 中标签的 Class 名称,从而达到轮播图的效果;