• Javascript EventListener 事件监听 (mouseover、mouseout)


       事件指的是在html元素上发生的事情,例如图片元素被点击事件触发时,可设置执行一段js代码。对事件作出反应,通过元素的事件属性,启用事件监听器。


       事件监听器是指 addEventListener (给DOM对象添加事件处理程序) 和 removeEventListener(删除给DOM对象的事件处理程序)。续上一期导航栏的二级菜单,简单演示怎样通过事件监听,去控制背景颜色的变化。


       在 li 子元素添加 class 属性



    在这里插入图片描述



       引入 Javascript,当鼠标悬停在 li label 时,更改对应的背景颜色。当鼠标离开时,还原成原来的底色。



    在这里插入图片描述



       为清晰表示,把每个子 li 的颜色设置为和当鼠标悬停时所对应的颜色一样。例如 “运动户外” 设置为绿色,当鼠标悬停在它的上面时,底色会自动变成绿色。



    在这里插入图片描述



    在这里插入图片描述



       同时,我们在刚才的 js 代码里添加了 console.log(arr[i]), 这样就可以在 Console 看到每次变化的 log。

    在这里插入图片描述



    Javascript EventListener



    HTML:


    <body>
    
    <div>
        <ul>
            <li class="colorChange"><a href="#">家用电器</a>
                <ul>
                    <li><a href="#">电视机</a></li>
                    <li><a href="#">洗衣机</a></li>
                    <li><a href="#">冰箱</a></li>
                    <li><a href="#">空调</a></li>
                    <li><a href="#">吸尘机</a></li>
                </ul>
            </li>
            <li class="colorChange"><a href="#">运动户外</a>
                <ul>
                    <li><a href="#">运动鞋</a></li>
                    <li><a href="#">运动服</a></li>
                    <li><a href="#">运动配件</a></li>
                    <li><a href="#">潜水装备</a></li>
                    <li><a href="#">游泳装备</a></li>
                </ul>
            </li>
            <li class="colorChange"><a href="#">食品</a>
                <ul>
                    <li><a href="#">海鲜</a></li>
                    <li><a href="#">蔬菜</a></li>
                    <li><a href="#">水果</a></li>
                    <li><a href="#">鲜肉</a></li>
                    <li><a href="#">零食</a></li>
                </ul>
            </li>
            <li class="colorChange"><a href="#">电脑配件</a>
                <ul>
                    <li><a href="#">主板</a></li>
                    <li><a href="#">硬盘</a></li>
                    <li><a href="#">CPU</a></li>
                    <li><a href="#">内存</a></li>
                    <li><a href="#">电源</a></li>
                </ul>
            </li>
            <li class="colorChange"><a href="#">居家用品</a>
                <ul>
                    <li><a href="#">家纺床品</a></li>
                    <li><a href="#">收纳配件</a></li>
                    <li><a href="#">餐具</a></li>
                    <li><a href="#">烹饪锅具</a></li>
                    <li><a href="#">厨柜</a></li>
                </ul>
            </li>
        </ul>
    </div>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52


    Javascript:


    <script>
        let arr = ['aqua', 'chartreuse', 'cornflowerblue', 'darkturquoise','pink']
            let colorChange = document.querySelectorAll('.colorChange')
            for (let i = 0; i < colorChange.length; i++) {
                colorChange[i].addEventListener('mouseover', () => {
                    document.body.style.backgroundColor = arr[i];
                    console.log(arr[i]);
                })
                colorChange[i].addEventListener('mouseout', () => {
                    document.body.style.backgroundColor = 'rgba(184, 8, 190, 0.918)';
                })
            }
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13


    CSS:


    * {
        margin: 0;
        padding: 0;    
    }
    
    body{
        background-color:rgba(184, 8, 190, 0.918);
    }
    
    div{ 
        position: absolute;
        left: 50%;
        top: 50%;
        margin-left: -300px;
        margin-top: -250px;
    }
    
    div>ul>li{
        float:left;
    }
    
    li{
         list-style: none;
     }
    
    li>ul{
        display: none;
        margin-top: 10px;
    
    }
    
    li:hover ul{
        display: block;
    }
    
    a {
        text-decoration: none;
        display: block;
        width: 120px;
        font-size: 20px;
        text-align: center;
        /* color:rgb(14, 252, 180); */
    }
    
    
    .colorChange:nth-of-type(1) {
        background-color: aqua;
    }
    
    .colorChange:nth-of-type(2) {
        background-color: chartreuse;
    }
    
    .colorChange:nth-of-type(3) {
        background-color: cornflowerblue;
    }
    
    .colorChange:nth-of-type(4) {
        background-color: darkturquoise;
    }
    
    
    .colorChange:nth-of-type(5) {
        background-color: pink;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
  • 相关阅读:
    解析几何:计算两条线段的交点
    20232831 袁思承 2023-2024-2 《网络攻防实践》第7次作业
    ISP 处理流程
    Rust变量与数据类型
    A-Level商务例题解析及练习Theory of Maslow Theory of Herzberg
    shell_57.Linux创建自己的重定向
    一文带你了解 ESLint
    vue 组件基础
    web前端面试-10大经典题(HTML基础)
    使用QUME搭建ZNS SSD
  • 原文地址:https://blog.csdn.net/weixin_48591974/article/details/132938816