事件注册:美女画廊

292 阅读1分钟

效果描述:点击美女小图,将在指定区域查看大图以及图片名称

美女画廊.png

图片显示效果.png

对应图库.png

源代码:


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        body {
            font-family: "Helvetica","Arial",serif;
            color: #333;
            background-color: #ccc;
            margin: 1em 10%;
        }
        h1 {
            color: #333;
            background-color: transparent;
        }
        a {
            color: #c60;
            background-color: transparent;
            font-weight: bold;
            text-decoration: none;
        }
        ul {
            padding: 0;
        }
        li {
            float: left;
            padding: 1em;
            list-style: none;
        }
        #imagegallery {
        }

        #imagegallery a {
            margin: 0px 20px 20px 0px;
            padding: 0px;
            display: inline;
        }

        #imagegallery a img {
            border: 0;
        }
    </style>

    <link rel="stylesheet" href="">
    <script src=""> </script>
</head>


<body>
<h2>
    美女画廊
</h2>

<div id="imagegallery">
    <a href="images/1.jpg" title="美女A">
        <img src="images/1-small.jpg" width="100px" alt="美女1" />
    </a>
    <a href="images/2.jpg" title="美女B">
        <img src="images/2-small.jpg" width="100px" alt="美女2" />
    </a>
    <a href="images/3.jpg" title="美女C">
        <img src="images/3-small.jpg" width="100px" alt="美女3" />
    </a>
    <a href="images/4.jpg" title="美女D">
        <img src="images/4-small.jpg" width="100px" alt="美女4" />
    </a>
</div>

<div style="clear:both"></div>

<img id="image" src="images/placeholder.png" alt="" width="450px" />

<p id="des">选择一个图片</p>


<script>

    var imagegallery = document.getElementById('imagegallery');
    var links = imagegallery.getElementsByTagName('a');
    // 遍历所有的a,给a注册单击事件
    for (var i = 0; i < links.length; i++) {
        var link = links[i];
        link.onclick = function () {
            var img = document.getElementById("image");
            var des = document.getElementById("des");
            img.src = this.href;
            des.innerText = this.title;
            return false;
        }
    }

    console.log(link);

</script>
</body>
</html>

script中步骤:

1 获取div中的所有a标签 2 给所有a标签注册事件 3 取消a标签的跳转功能 4 遍历的时候为何不能使用link.href 获取到数据 5 事件处理函数中的this所指向的位置