第十五篇 JS 移入移出事件 模拟一个二级菜单

JS 移入移出事件 模拟一个二级菜单

老师演示一个特别简单二级菜单,同学们除了学习JS,还要注意它的元素和CSS样式。

这节课介绍的是JS鼠标移入、移出事件:onmouseover是移入事件,onmouseout是移出事件。当然还有其他的事件效果,这里就先不说明了。

先直接上一段代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>二级菜单,鼠标移出和移入事件</title>
    <style>
        ul li{
            /*取消 li前面的黑点*/
            list-style:none;
        }
        #er{
            /*让二级ul移动到 一级ul下面去*/
            margin:5px 0 0 -40px;
            /*因为做二级菜单效果,它先是隐藏的*/
            display: none;
        }
    </style>
</head>
<body>
<div onclick="dianji()">点击我</div>
<ul onmouseover="yiru()" onmouseout="yichu()">
    <li>我的</li>
    <li>
        <ul id="er">
            <li>个人资料</li>
            <li>密码安全</li>
        </ul>
    </li>
</ul>
<br/><br/><br/><br/>
<p>那么onclick是点击事件,我们还有鼠标移入事件和移出事件</p>
<p>onmouseout是移出事件,onmouseover是移入事件</p>
<p>移入事件,鼠标移动到某个元素上,这个元素触发onmouseover事件</p>
<p>我们在第一个ul里给出移入事件和移出事件,再到JS里去写函数</p>
<p>注意:<br/>ul是块级元素,是整行的,同学们可以自己加个背景颜色看效果<br/>
显示出来的二级ul也是块级元素,它会占用自己的位置而影响之后的元素</p>
<script>
    function dianji(){
        //这里简单测试一下 onclick点击事件
        alert(‘嗨,同学们好!‘);
    }
    //function关键字 定义 函数 yiru()
    function yiru(){
        var erji = document.getElementById("er");
        //找到二级ul的ID,然后修改它的样式,就可以显示出来了
        erji.style.display="block";
    }
    //那么移出事件是同一个意思,就是反过来即可
    function yichu(){
        var erji = document.getElementById("er");
        //找到二级ul的ID,然后修改它的样式,就可以显示出来了
        erji.style.display="none";
    }
</script>
</body>
</html>

二级ul显示之后,会影响之后的元素比如这里的p元素,那这样做的话,会导致页面乱掉的,用户体验不够友好,所以我们可以在css里面加样式,比如定位咯!

时间: 2024-08-28 01:50:24

第十五篇 JS 移入移出事件 模拟一个二级菜单的相关文章

秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题 在<秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量>中对经典多线程同步互斥问题进行了回顾和总结,这篇文章对Windows系统下常用的线程同步互斥机制——关键段.事件.互斥量.信号量进行了总结.有网友问到互斥量能处理“遗弃”问题,事件和信号量是否也能处理“遗弃”问题.因此本文将对事件和信号量作个试验,看看事件和信号量能否处理“遗弃”问题. 一.

鼠标移入移出事件

鼠标移入移出事件: mouseover:鼠标移入到目标元素的上方,在其子元素上时也会触发,.所以说也就是说会产生冒泡. <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <head> <style> .parent{height: 400px; width: 400px;border: 1px solid red;}

认清鼠标移入移出事件

本文也同步发表在我的公众号"我的天空" 鼠标的移入移出事件,是在我们做一些前端效果时使用相当频繁的事件,但在JS中,鼠标的移入移出事件有两对,分别是mouseover.mouseout:以及mouseenter.mouseleave,如果没有对其的区别有清新的认识话,则很容易掉坑里! 譬如某次有人反映需要做以下这么一个效果:当鼠标移入背景图片时,将有一个遮罩层升起,当鼠标移出后,遮罩层落下(如图),该效果还是很常见的: 其采用jquery的animate()结合鼠标的移入移出事件来处理

Python之路【第十五篇】:Web框架

Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/env python #coding:utf-8   import socket   def handle_request(client):     buf = client.recv(10

第十五篇 Integration Services:SSIS参数

本篇文章是Integration Services系列的第十五篇,详细内容请参考原文. 简介在前一篇,我们使用SSDT-BI将第一个SSIS项目My_First_SSIS_Project升级/转换到SSIS 2012.在这一篇,我们将探讨SSIS变量的姊妹:SSIS参数.我们将展示参数配置,通过包参数管理动态属性值,以及在SSIS包执行期间参数是如何配置和使用的.首先在SSDT-BI打开转换过的My_First_SSIS_Project,如图15.1所示:图15.1My_First_SSIS_P

第十五篇 和谐

第十五篇  和谐 "和谐"对于整个宇宙来讲至关重要,无论是宇宙自身空间的环境还是万物之间都需要和谐.如果在任何方面或任何领域出现不和谐的因素,就会对宇宙本身及宇宙中的万物带来很大的影响.这种影响大可以使宇宙规律出现混乱,小也会造成宇宙空间中的万物出现变异. 以上讲的这些是针对整个大宇宙背景所作出的描述.从这些真相当中我们可以知道人类世界同样也需要和谐.因为不和谐,我们就无法向上发展.如今人类世界就有很多的空间出现不和谐的因素,这些不和谐的因素一直障碍着整个人类世界的发展.这样的状况,只

NHibernate 过滤器(第十五篇)

NHibernate 过滤器(第十五篇) NHibernate过滤器相当于定义一个非常类似于类和集合上使用的where子句.ISession 中默认是不启用过滤器的,必须通过ISession.EnableFilter()方法显式的启用. 该方法返回被启用的IFilter的实例.这也支持链式操作. 过滤器主要的配置都在映射文件内完成.来看示例: <?xml version="1.0" encoding="utf-8" ?> <hibernate-ma

解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译)

解剖SQLSERVER 第十五篇  SQLSERVER存储过程的源文本存放在哪里?(译) http://improve.dk/where-does-sql-server-store-the-source-for-stored-procedures/ 目前我正在扩展OrcaMDF Studio的功能 不单只支持系统表,DMVs 和用户表 而且也要支持存储过程.那很容易,我们只需要查询sys.procedures --或者查询sys.sysschobjs, 因为当SQLSERVER没有在运行的时候我

Java进阶之欧拉工程 第十五篇【网格路径问题】

网格路径问题,中文翻译如下: 从 22的格子的左上角开始,只允许向右和向下移动,一共有六种路径可以抵达右下角 那么在2020的路径中一共有多少条这样的路径? 原题如下: Starting in the top left corner of a 22 grid, and only being able to move to the right and down, there are exactly 6 routes to the bottom right corner. How many such