-
给一组元素注册事件
-
给 4 个小图片利用循环注册 点击事件
-
当点击了图片,改变页面背景(body 的 background)为当前图片
-
核心算法:把当前图片的src 路径取过来,给 body 做背景--------------src 标签的 src 属性是必需的。它规定图像的 URL。
注意:当一个网页加载时,浏览器从 Web 服务器上获取图像,并把它插入到页面中。因此,确保图像与相关的网页在同一点,否则访问者可能会得到一个损坏的链接图标。如果浏览器找不到图像时,会显示损坏的链接图标。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
background: url(images1/1.jpg) no-repeat center top;
}
li {
list-style: none;
}
.baidu {
overflow: hidden;
margin: 100px auto;
background-color: #fff;
width: 410px;
padding-top: 3px;
}
.baidu li {
float: left;
margin: 0 1px;
cursor: pointer;
}
.baidu img {
width: 100px;
}
</style>
</head>
<body>
<ul class="baidu">
<li><img src="images1/1.jpg"></li>
<li><img src="images1/2.jpg"></li>
<li><img src="images1/3.jpg"></li>
<li><img src="images1/4.jpg"></li>
</ul>
<script>
// 1. 获取元素
var imgs = document.querySelector('.baidu').querySelectorAll('img');
// console.log(imgs);
// 2. 循环注册事件
for (var i = 0; i < imgs.length; i++) {
imgs[i].onclick = function () {
// this.src 就是我们点击图片的路径 images/2.jpg
// console.log(this.src);
// 把这个路径 this.src 给body 就可以了
document.body.style.backgroundImage = 'url(' + this.src + ')';
}
}
</script>
</body>
</html>
刚才自己写的时候,不小心在 url 后面多加了一个空格,一直实现不了效果,调试也找不出错误,头太大了,