Javascript EventListener 事件监听 (mouseover、mouseout)

news2024/10/6 16:30:32

   事件指的是在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>


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>


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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1017866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

441分2023级东南大学920专业基础综合信号和数字电路考研上岸经验分享信息科学与工程学院

写在前面的话 本人是23年考生&#xff0c;本科就读于西电电子信息工程&#xff0c;以441分总分&#xff08;数学一149&#xff0c;英语83&#xff0c;专业课137&#xff0c;政治73&#xff09;考上东南信院电路与系统专业。以下所言皆是考研历程中的重要感悟&#xff0c;因为一…

c语言练习61:malloc和free

malloc和free malloc C语⾔提供了⼀个动态内存开辟的函数&#xff1a; 1 void* malloc (size_t size); 这个函数向内存申请⼀块连续可⽤的空间&#xff0c;并返回指向这块空间的指针。 • 如果开辟成功&#xff0c;则返回⼀个指向开辟好空间的指针。 • 如果开辟失败&…

mysql的变量

在 MySQL 中变量分为三种类型 : 系统变量、用户定义变量、局部变量。 系统变量 系统变量 是 MySQL 服务器提供&#xff0c;不是用户定义的&#xff0c;属于服务器层面。分为全局变量&#xff08; GLOBAL &#xff09;、会话变量&#xff08;SESSION &#xff09;。 查看系统变…

选择适合您网站的SSL证书,保障安全与信任

在如今数字化的时代&#xff0c;拥有一个安全可靠的网站是至关重要的。而SSL证书作为保护网站和用户数据安全的关键工具&#xff0c;选择适合自己网站的SSL证书成为了每个网站管理员必须面对的重要任务。下面将为您分享几个关键因素&#xff0c;帮助您做出明智的选择。 1. 网站…

Linux的调试工具 - gdb(超详细)

Linux的调试工具 - gdb 1. 背景2. 开始使用指令的使用都用下面这个C语言简单小代码来进行演示&#xff1a;1. list或l 行号&#xff1a;显示文件源代码&#xff0c;接着上次的位置往下列&#xff0c;每次列10行。2. list或l 函数名:列出某个函数的源代码。3. r或run: 运行程序。…

链队列的基本操作(带头结点,不带头结点)

结构体 typedef struct linknode{int data;struct linknode* next;后继指针 }linknode; typedef struct {linknode* front, * rear;//队头队尾指针 }linkquene; 初始化队列&#xff08;带头结点&#xff09; int initquene(linkquene* q)//初始化队列 {q->front q->r…

geant4创建自己的physicslist(以电磁物理为例)

1 基本概念 1.1 需要创建一个类继承 G4ModularPhysicist 每个physics都是继承 G4PhysicsConstruct Physicslist 由很多 physics组成&#xff0c;physics里面包含很多的process,也就是物理过程,光电效应就是一个process 1.2 model的概念:实现proces,一个process可以对应多个…

阿里云无影云电脑有什么用?常用使用场景说明

阿里云无影云电脑是一种易用、安全、高效的云上桌面服务&#xff0c;阿里云无影云电脑可用于高数据安全管控、高性能计算等要求的金融、设计、视频、教育等领域&#xff0c;适用于多种办公场景&#xff0c;如远程办公、多分支机构、安全OA、短期使用、专业制图等。阿里云百科来…

ES6(二)

文章目录 对象的扩展对象的展开运算符Object.is()Object.assign() 字符串的扩展includes(), startsWith(), endsWith()repeat()padStart()&#xff0c;padEnd()trimStart()&#xff0c;trimEnd() 运算符扩展指数运算符 Set方法应用 Map方法 对象的扩展 ES6 允许在大括号里面&a…

DC系列靶机5通关教程

信息收集 主机扫描 sudo arp-scan -l端口扫描 nmap -p- -A 192.168.16.172漏洞发现 浏览器访问靶机IP 在Contact找到类似提交数据的地方 点击submit&#xff0c;数字发生变化。不断刷新的话&#xff0c;数字依然会发生变化 使用bp抓包发送重发器查看数据包 再次点击发送查看…

修改了Android Studio 中的这两个面板配置后,代码写的更舒服了~

本文已同步发表于我的微信公众号&#xff0c;微信搜索 代码说 即可关注&#xff0c;欢迎与我沟通交流。 一、 增加打开文件的数量及展示方式 如图&#xff0c;默认AS中打开的文件个数是10个&#xff0c;当超过10个时&#xff0c;超过的部分会直接隐藏&#xff0c;甚至会直接把之…

TCP详解之重传机制

TCP详解之重传机制 TCP 实现可靠传输的方式之一&#xff0c;是通过序列号与确认应答。 在 TCP 中&#xff0c;当发送端的数据到达接收主机时&#xff0c;接收端主机会返回一个确认应答消息&#xff0c;表示已收到消息。 但在错综复杂的网络&#xff0c;并不一定能如上图那么顺…

Oracle SQL操作和查询

文章目录 一、SQL简介二、数据类型讲解三、创建表和约束1.表结构2. 更新表结构3.约束 四、DML语句1.INSERT2.序列号3.UPDATE4.删除语句5.多行插入 五、DQL语句1.简单查询语句1.1 知识点讲解1.2 案例讲解 2.聚合函数3.分组查询4.多表查询 一、SQL简介 SQL是结构化查询语言&…

Procmon.exe在cuckoo中的使用

背景 最近研究了下procmon.exe&#xff0c;该工具用途可大了&#xff0c;Procmon是微软出品用于监视Windows系统里程序的运行情况&#xff0c;监视内容包括该程序对注册表的读写、 对文件的读写、网络的连接、进程和线程的调用情况&#xff0c;procmon 是一款超强的系统监视软…

typescript字面量类型

typescript 字面量介绍 在TypeScript中&#xff0c;字面量是指在代码中直接使用的具体值&#xff0c;如字符串、数字、布尔值等。字面量类型是TypeScript中的一种特殊类型&#xff0c;它用于定义一组有限的值&#xff0c;并且可以在定义变量或函数时使用字面量作为具体值&…

基于Java的养老院管理系统的设计与实现(亮点:多角色、登录验证码、留言反馈)

养老院管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实现5.1 养老院…

【基础篇】四、SpringBoot整合第三方技术

文章目录 1、SpringBoot整合Junit2、SpringBoot整合MyBatis3、SpringBoot整合MyBatisPlus4、SpringBoot整合Druid 1、SpringBoot整合Junit 步骤&#xff1a; 导入测试对应的starter测试类使用SpringBootTest修饰使用自动装配的形式添加要测试的对象 SpringBootTest class Spri…

IDEA(2023)解决运行乱码问题

&#x1f607;作者介绍&#xff1a;一个有梦想、有理想、有目标的&#xff0c;且渴望能够学有所成的追梦人。 &#x1f386;学习格言&#xff1a;不读书的人,思想就会停止。——狄德罗 ⛪️个人主页&#xff1a;进入博主主页 &#x1f5fc;专栏系列&#xff1a;无 &#x1f33c…

Nginx 相关介绍(Nginx是什么?能干嘛?)

Nginx的产生 没有听过Nginx&#xff1f;那么一定听过它的"同行"Apache吧&#xff01;Nginx同Apache一样都是一种WEB服务器&#xff0c;基于REST架构风格&#xff0c;以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator…

【算法专题突破】滑动窗口 - 串联所有单词的子串(15)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后&#xff1a; 1. 题目解析 题目链接&#xff1a;30. 串联所有单词的子串 - 力扣&#xff08;LeetCode&#xff09; 这道题其实也很好理解&#xff0c;看一下示例就基本知道是什么意思了&#xff0c; 主要就是找 s 里面…