前端JavaScript小案例——百度换肤效果
话不多说直接给大家上代码:
HTML结构部分:
- <body>
- <ul class="baidu">
- <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>
-
- </body>
-
- </html
CSS样式部分:
- <style>
- * {
- margin: 0;
- padding: 0;
- }
- body {
- background: url(images/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>
JavaScript行为代码部分:
- <script>
- // 百度换肤效果:用户点击哪一种图片该图片就设置成body的背景图片
- var imgs = document.querySelector('.baidu').getElementsByTagName('img');
- for (var i = 0; i < imgs.length; i++) { // 用循环遍历出所有的img元素
- imgs[i].onclick = function () { // 点击哪张图片就给该图片注册事件
- // this.src返回的就是当前图片的src路径,再把这个路径给到body作为背景图片即可
- // document.body 用于获得body元素对象
- document.body.style.backgroundImage = 'url(' + this.src + ')';
- }
- }
- </script>
运行效果:

点击了哪张图片该图片就会被设置为body的背景图片,实现了点击给页面“换肤”的效果。