目录结构:
![](https://i-blog.csdnimg.cn/blog_migrate/90eed5fb85416a141d6a98da401e4821.png)
代码:
<!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>图片相册切换</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
ul {
list-style: none;
/* 清除浮动 */
overflow: hidden;
}
ul li {
float: left;
width: 100px;
height: 50px;
margin-top: 20px;
margin-left: 15px;
/* 描边 */
border: 2px solid #fff;
}
ul li.active {
border-color: red;
}
</style>
</head>
<body>
<!-- 主图 -->
<img id="bigImg" src="./images/img01.jpg" style="width: 500px; height: 300px;">
<ul>
<li class="active"><a href=""><img src="./images/img02.jpg" width="100" height="50px" class="smallImg"></a></li>
<li><a href=""><img src="./images/img03.jpg" width="100"height="50px" class="smallImg"></a></li>
<li><a href=""><img src="./images/img04.jpg" width="100"height="50px" class="smallImg"></a></li>
<li><a href=""><img src="./images/img05.jpg" width="100"height="50px" class="smallImg"></a></li>
</ul>
<script>
// 1.获取事件源
var bigImg = document.getElementById("bigImg");
var smallImgs = document.getElementsByTagName("img");
// 鼠标悬浮效果
for (var i = 0; i < smallImgs.length; i++) {
// 2.为每个smallImg添加鼠标悬浮事件
smallImgs[i].onmouseover = function() {
// 2.1 清除所有li标签的类名
for(var j = 0; j < smallImgs.length; j++) {
smallImgs[j].parentNode.parentNode.setAttribute('class','');
}
// 2.2 将大图修改为悬浮对应的图片,即修改大图的src为当前图片的src
var smallImgSrc = this.getAttribute('src');
// console.log(smallImgSrc);
bigImg.setAttribute('src',smallImgSrc);
// 为当前悬浮的li设置边框样式,即修改为active类,this为当前对象
this.parentNode.parentNode.setAttribute('class','active');
}
}
</script>
</body>
</html>
效果:
![](https://i-blog.csdnimg.cn/blog_migrate/ed13d824acef9475dd1aec72f6df51b3.png)