javascript-demo01-onmouseover-鼠标悬停事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>onmouseover+get/setAttribute</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            list-style: none;
        }
        ul li{
             50px;
            height: 50px;
            margin-top: 10;
            margin-left: 10px;
            float: left;
            text-align: center;
            line-height: 50px;
            overflow: hidden;
        }
        ul li.active{
            border: 1px solid red;
        }
    </style>
</head>
<body>
    <img src="../images/img01.jpg" id="imgBig" width="300" height="300" alt="">
    <ul>
        <li class="active"><a href=""><img  src="../images/img01.jpg" width="45" height="45" alt="" class="imgSmall"></a></li>
        <li><a href=""><img src="../images/img02.jpg" width="45" height="45" alt="" class="imgSmall"></a></li>
        <li><a href=""><img src="../images/img03.jpg" width="45" height="45" alt="" class="imgSmall"></a></li>
        <li><a href=""><img src="../images/img04.jpg" width="45" height="45" alt="" class="imgSmall"></a></li>
        <li><a href=""><img src="../images/img05.jpg" width="45" height="45" alt="" class="imgSmall"></a></li>
    </ul>

    <script>
        //1. 准备事件源
        let imgBig=document.getElementById("imgBig");

        let imgSmalls=document.getElementsByClassName("imgSmall");


        //2. 遍历集合,
        for (let i = 0; i < imgSmalls.length; i++) {
            
            //2.1 为小图片注册鼠标悬停事件
            imgSmalls[i].onmouseover=function(){

                //2.2 内部遍历 清空class 属性
                for (let j = 0; j < imgSmalls.length; j++) {
                    imgSmalls[j].parentNode.parentNode.setAttribute("class","");
                }

                // 遍历获取每一个小图的src 赋值给大图的src 效果呈现:大图随着小图改变
                let imgSrc=this.getAttribute("src");
                console.log(imgSrc);
                imgBig.setAttribute("src",imgSrc);
               
                // 2.3 为每个li设置class="active" 鼠标悬停 边框变红
                this.parentNode.parentNode.setAttribute("class","active");
            }
            
        }
    </script>
</body>
</html>

原文地址:https://www.cnblogs.com/ABC-wangyuhan/p/14541451.html