利用JS对DOM的操作创建一个简单的电子相册
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>风景相册</title> <style type="text/css"> .box { width: 550px; height: 770px; background-color: #efefef; border: 1px solid lightgray; margin: 20px auto; text-align: center; color: #636363; box-shadow: 2px 2px 2px #999; } .box ul { margin:0; padding:0; /*将ul转为BFC独立块,使之不受内部浮动元素的影响*/ overflow: hidden; } .box ul li { list-style-type: none; float:left; background-color: skyblue; margin-left: 100px; } .box ul li a { /*将a转为块元素,并设置为li的宽高,这样可以使整个li可以被点击*/ display: block; width: 125px; height: 40px; line-height: 40px; color: white; text-decoration: none; } .box ul li:hover { font-size:1.2em; background-color: coral; } .active { font-size:1.2em; background-color: coral; } .box .pic { width: 450px; height:450px; border: 1px solid lightgray; margin: 50px auto 0; } .box .pic img { width: 100%; height: 100%; } .sub-box { float:left; width : 500px; margin-left: 25px; margin-top : 40px; text-align : left; text-indent : 2em; } </style> </head> <body> <div class="box"> <h2>我的家乡</h2> <ul> <li> <a href="images/hn-01.png" title="湖南长沙是一个有着悠久历史文化的名城,这里走出了许多历史上叱咤风云的人物,人杰地灵、物华天宝的好地方。湘江用它宽阔的胸怀拥抱长沙这片土地,用它奔流不息的气势向世人昭示着它的魄力。">湖南美景</a> </li> <li> <a href="images/hn-06.png" title="长沙的小吃很多,有名气的要数火宫殿的美食。">湖南美食</a> </li> </ul> <div class="pic"> <img src="images/zwt.png" alt="" id="img"> </div> <div class="sub-box"> <p id="info"></p> </div> </div> <script> //获取到所有的a标签 var pic = document.getElementsByTagName('a'); //获取到页面中,要被替换掉的图像元素对象 var img = document.getElementById('img'); var p = document.getElementById('info'); //给所有的a标签添加点击事件 for (var i = 0; i < pic.length; i++) { pic[i].onclick = function () { // 添加用户选择锁定功能: 指示出当前用户的选项 for (var i = 0; i < pic.length; i++) { pic[i].classList.remove('active'); } this.classList.add('active'); //1.获取到要替换的图片与简介信息 var picUrl = this.href; var picInfo = this.title; var picName = this.innerHTML; //将对应的图像与信息占位符进行替换 img.src = picUrl; p.innerHTML = '<span style="color:coral">'+picInfo+'</span>'; return false; }; } </script> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例