下面是源代码和部分注释
是根据老师的做哒
<!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>Document</title>
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
html,body {
height: 100%;
/* body高度沾满全屏 */
}
body {
background-image: url(https://b-ssl.duitang.com/uploads/item/201809/18/20180918153911_vzsFN.thumb.700_0.jpeg);
background-size: cover;
background-position: center center;
position: relative
}
ul {
width: 800px;
height: 400px;
background-color: pink;
/* margin: 0 auto; */
/* 垂直居中 */
position: absolute;
left: 50%;
top: 50%;
margin-left: -400px;
margin-top: -200px;
/* 800的一半 */
/* 万能居中公式 */
}
li {
width: 80px;
height: 400px;
float: left;
background-size: cover;
background-position: center center;
transition: .3s;
/* 过渡 */
}
.open {
width: 480px;
}
li p {
width: 80px;
height: 400px;
background-color: rgb(142, 142, 240,.5);
color: white;
font-size: 60px;
}
</style>
</head>
<body>
<ul>
<li class="open" style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202102/10/20210210145841_0e544.thumb.1000_0.jpg);" >
<p>库洛米</p>
</li>
<li style="background-image: url(https://c-ssl.duitang.com/uploads/item/201809/18/20180918161201_uxmEk.thumb.700_0.jpeg);">
<p>玉桂狗</p>
</li>
<li style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202008/27/20200827202727_2Ws2L.thumb.1000_0.jpeg);">
<p>布丁狗</p>
</li>
<li style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202107/14/20210714141247_f2bc8.thumb.400_0.jpeg);">
<p>美乐蒂</p>
</li>
<li style="background-image: url(https://c-ssl.duitang.com/uploads/blog/202106/22/20210622102531_dbfc1.thumb.1000_0.jpg);">
<p>帕洽狗</p>
</li>
</ul>
</body>
<script>
//1.获取所有的li
var lis = document.querySelectorAll("li");
//记录当前open的下标
var showIndex = 0;//默认第一张图是展开的
//记录当前open的下标
//使用for循环遍历,添加点击事件
for (var i=0;i<lis.length;i++) {
lis[i].index = i;//为每一个li添加标记
lis[i].onclick = function() {
// //1.收起展开的li
// // 1.1 我不知道那个li展开了,让所有的li都收起来
// for (var j=0;j<lis.length;j++) {
// lis[j].className="";
// }
//1.2做标记
if (showIndex == this.index) {
return;//判断点击的是否是展开的li
}
lis[showIndex].className = "";
// 2.打开点击的li
this.className ="open";
showIndex = this.index;//修改标记值
//3.修改body的背景图
document.body.style.backgroundImage = this.style.backgroundImage;
}
}
</script>
</html>