页面换肤效果js代码实现
页面换肤效果
一、要求:点击相应图片,将页面背景设置为相应图片
考察知识点:
①利用for循环注册事件
②利用js修改样式属性
二、效果展示:

三、代码实现:
1、html结构:
<body> <div class="box"> <ul> <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> </ul> </div> </body>
2、样式文件:
<style> * { margin: 0; padding: 0; } body { background: url(images/1.jpg) no-repeat; background-size: cover; } .box { width: 1000px; height: 100px; margin: 20px auto; border: 2px solid slategray; border-radius: 5px; } .box ul li { float: left; width: 25%; height: 100px; list-style: none; } img { width: 100%; height: 100%; } </style>
3、js文件
<script>
//1、获取元素
var imgs = document.querySelector('.box').querySelectorAll('img');
var body = document.querySelector('body');
//2、循环添加点击事件
for (var i = 0; i < imgs.length; i++) {
imgs[i].onclick = function() {
// this.src就是我们点击图片的路径,把这个路径给body即可
// console.log(this.src);
body.style.background = 'url(' + this.src + ')';
body.style.backgroundSize = 'cover'; /* 将背景图片等比缩放填满整个容器*/
}
}
</script>
浙公网安备 33010602011771号