经典的菜单显示隐藏代码

1.按钮上的click事件 : 控制菜单的显示隐藏,同时需要阻止事件冒泡到document;

2.document的 click事件: 让menu隐藏,这个功能是点击document任意一处,将菜单隐藏;

3.菜单的click事件:菜单本身并没有,是菜单内部的元素的click事件,需要阻止内部元素的click事件冒泡到document;

4.菜单内部list元素的 click事件:menu不能隐藏。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>菜单隐藏显示</title>
    <style>
        .showBtn{
            cursor: pointer;
        }
        .menu {
            display: none;
            background-color: #fff;
            width: 100px;
        }
        .menu ul{
            list-style: none;
        }
        .menu a{
            display:block;
            text-decoration: none;
            margin: 10px 0;
        }
    </style>
</head>
<body>
<input type="button" class="showBtn" value="显示菜单">
<!-- 菜单默认不显示 -->
<div class="menu">
    <ul>
        <li><a href="">菜单一</a></li>
        <li><a href="">菜单二</a></li>
        <li><a href="">菜单三</a></li>
    </ul>
</div>
<script src="./jquery-1.11.3.min.js"></script>
<script>

    //点击“显示菜单”按钮时,显示菜单,并阻止事件冒泡
    $(".showBtn").click(function(e){
        if($(".showBtn").val()==‘隐藏菜单‘){
            $(".menu").hide();
            $(this).val(‘显示菜单‘);
        }else{
            $(".menu").show();
            $(this).val(‘隐藏菜单‘);
        }
        e.stopPropagation();//阻止按钮点击事件冒泡到document
    });

    //点击“菜单”内部时,阻止事件冒泡。(这样点击内部时,菜单不会关闭)
    $(".menu").click(function(e){
        e.stopPropagation();//阻止菜单内部点击事件冒泡到document
    });

    //监听整个document的点击事件,如果能收到事件(说明点击源既不是“显示菜单”按钮,也不来自菜单内部),就可以放心关闭菜单了
    $(document).click(function(){
        $(".menu").hide();
        $(".showBtn").val(‘显示菜单‘);
    });

</script>
</body>
</html>
时间: 2024-10-17 08:25:08

经典的菜单显示隐藏代码的相关文章

菜单显示隐藏

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>菜单显示隐藏</title> <style> *{ margin:0;padding:0; font-family: "微软雅黑"; } a{ text-decoration: none; color:#fff; displa

5购物车菜单显示隐藏和事件委托版

HTML代码: 第一版HTML:(非事件委托版) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>菜单和详细显示隐藏</title> <style type="text/css"> * { margin: 0; padding: 0; font-family: "\5FAE\8F6F\96C5\9ED1

vue.js 左侧二级菜单显示与隐藏切换的实例代码

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>vue点击切换显示隐藏</title> <script src="js/same/vue.js"></script> <style type="text/css"> *{ padding: 0; margin: 0; fo

jQuery如何实现点击下拉菜单的隐藏和显示

jQuery如何实现点击下拉菜单的隐藏和显示:在众多的网站都有这样的效果,那就是点击一个父菜单就会显示下拉子菜单,再点击父菜单,那么子菜单就会隐藏,下面就简单介绍一下如何实现此中效果.这里只介绍如何使用jQuery实现此效果,暂且不考虑效果的美观度,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" co

jQuery版感应鼠标显示隐藏的菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery版感应鼠标显示隐藏的菜单丨天津

菜单的隐藏&amp;显示

//还是先上万一老师的原代码 //隐藏与显示菜单Self.Menu := nil; {隐藏菜单} Self.Menu := MainMenu1; {显示菜单} //初一看到代码,我有点抓不到感觉的意思... //我觉得我得自己写一个,万老师这个自当是绝佳的参考资料... unit MainFrm; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs,

1.鼠标点击换样式+2.下拉菜单缓慢显示/隐藏样式效果

1.鼠标点击换样式 <style type="text/css"> .aa{ width:90px; height:60px;text-align:center; vertical-align:middle; line-height:60px; margin-right:10px; font-size:19px; float:left; background-color:#06F} </style> <body> <div style=&quo

[UE4]工程设置:自动捕获鼠标、通过代码设置鼠标显示隐藏、输入模式、编译时自动保存

一.在4.20版本中运行游戏,在没有进行任何设置的情况下,游戏不会自动捕获鼠标,游戏不会接受输入,需要手动点一下游戏界面才行.如果要跟老版本一样运行游戏自动捕获鼠标,需要进行设置 二.也可以通过代码的方式设置鼠标显示隐藏和输入模式 三.编译时自动保存 原文地址:https://www.cnblogs.com/timy/p/10189754.html

巨丑巨简陋的一个Javascript显示隐藏菜单

<!DOCTYPE html> <html> <head> <title></title> <style type="text/css">       #div1{width:100px;             height:500px;             background: aqua;}     li{list-style-type: none;        margin-left: 0px;