美文网首页
Div的隐藏和显示(实现下拉菜单)

Div的隐藏和显示(实现下拉菜单)

作者: 小本YuDL | 来源:发表于2018-06-05 22:24 被阅读25次
    方式一 :设置 visibility属性

    style="visibility: none;"
    visiblity:visible ;---->可见
    visiblity:hidden ; ---->隐藏

    或者:

    style="visibility: none;"
     document.getElementById("id").style.visibility="hidden";//隐藏
     document.getElementById("id").style.visibility="visible";//显示

    这种方法div是隐藏的但是还占据空间,只是说看到的是空白。

    方式二:设置display属性(常用)

    style="display: none;"
    display:none ;---->隐藏
    display:" " ; --->显示(不设置display属性即是有可以看见)
    或display:"block"; --->也可以看见

    或者:

    style="display: none;"
      document.getElementById("id").style.display="none";//隐藏
      document.getElementById("id").style.display="";//显示

    这种方法将 display 属性设为 none 确保元素不可见并且连盒模型也不生成,div隐藏后是不占据空间的。

    方式三:用js事件

    1.onmouseover和onmouseout事件,可用在鼠标指针移到或离开元素时触发函数
    onmouseover 用户鼠标移入元素时触发的事件。并执行onmouseover调用的函数。
    onmouseout 用户鼠标移开元素时触发的事件。并执行onmouseout调用的函数。

    注意:W3C在mouseover和mouseout事件中添加了relatedTarget属性 :
      •在mouseover事件中,它表示鼠标来自哪个元素
      •在mouseout事件中,它指向鼠标去往的那个元素
    而Microsoft在mouseover和mouseout事件中添加了两个属性 :
     •fromElement,在mouseover事件中表示鼠标来自哪个元素
      •toElement,在mouseout事件中指向鼠标去往的那个元素

    js实现div的隐藏显示:

        <script type="text/javascript">
            show=function(li){
                var a=li.getElementsByTagName("div")[0];
                a.style.display="block";
            }
            hide=function(li){
                var a=li.getElementsByTagName("div")[0];
                a.style.display="none";
            }
        </script>
      <ul class="menu">
            <li onmouseover="show(this)" onmouseout="hide(this)"><a href="#">中国大陆</a>
                <div id="div">
                <ul class="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>
                <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>
                <li><a href="#">台湾</a></li>
                <li><a href="#">澳大利亚</a></li>
                </ul></div>
            </li>
            <li><a href="#"><span style="color: orangered;">亲,请登录</span></a></li>
            <li><a href="#">免费注册</a></li>
            <li><a href="#">手机逛淘宝</a></li>
        </ul>
    

    淘宝导航栏代码:

    <html>
        <head>
            <meta charset="utf-8" />
            <title>淘!我喜欢</title>
            <link rel="stylesheet" type="text/css" href="css/iconfont.css">
            <link rel="stylesheet" type="text/css" href="css/iconfont1.css">
            <link rel="stylesheet" type="text/css" href="css/icon.css">
            <style type="text/css">
                nav{
                    width: 100%;
                    height:40px;
                    border: none;
                    font-size: 14px;
                    background-color: #f5f5f5;
                    font-size: smaller;
                }
                *{
                    margin: 0px;
                    padding: 0px;
                }
                .menu 
                {
                    text-align:left;  
                    width: 500px;
                    height: auto;
                    margin-left: 80PX;
                    float: left;
                    list-style-type: none;
                    display: block;
                }
                .menu >li{
                     position:relative;
                     line-height:30px;
                     color:black; 
                     float:left; 
                     text-align:left;  
                     cursor:pointer; 
                     display:inline; 
                     margin-left: 20px;
                     
                     }
                li ul{
                      list-style-type: none; 
                      left:0; 
                      top:0;
                      float: left;
                      display:block;
                      }
                 #div{
                    width: 350px;height: 200px;
                    border: 1px solid gainsboro;
                    float: left;
                    overflow-x: hidden;
                    overflow-y: scroll;
                    text-align: left;
                    position: absolute;
                    background-color: white;
                    display:none;
                 }    
                 #div2{
                    position: absolute;
                    width: 100px;
                    height: auto;
                    border: 1px solid #DCDCDC;
                    background-color:white;
                    display: none;
                    margin-top: 10px;
                    margin: 0px 0px;
                    
                }
                .ul{
                     list-style-type: none;
                     width: 80px;
                     text-align: left;
                     float: left;
                     display:block;
                }
                .div>li{
                    float: left;
                    width: auto;
                    height: 5px;
                    color: black;
                }
                a{
                    text-decoration : none;
                    color: black;
                }
                a:hover{color: orangered;}
            </style>
        </head>
        <body>
      <nav>
       <ul class="menu">
            <li onmouseover="show(this)" onmouseout="hide(this)"><a href="#">中国大陆</a>
                <div id="div">
                <ul class="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>
                <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>
                <li><a href="#">台湾</a></li>
                <li><a href="#">澳大利亚</a></li>
                </ul></div>
            </li>
            <li><a href="#"><span style="color: orangered;">亲,请登录</span></a></li>
            <li><a href="#">免费注册</a></li>
            <li><a href="#">手机逛淘宝</a></li>
        </ul>
        <ul style="width: 800px;padding-left: 50px;" class="menu">
            <li onmouseover="show(this)" onmouseout="hide(this)"><a href="#">我的淘宝</a><i class="iconfont icon-jiantou"></i>
                <div id="div2">
                    <ul class="ul">
                        <a href="#"><li>已买到的宝贝</li></a>
                        <a href="#"><li>我的足迹</li></a>
                    </ul>
                </div>
                </li>
            <li><a href="#"><i class="iconfont icon-gouwuche "></i>购物车</a><i class="iconfont icon-jiantou"></i></li>
            <li onmouseover="show(this)" onmouseout="hide(this)"><a href="#"><i class="iconfont icon-shoucang"></i>收藏夹</a><i class="iconfont icon-jiantou"></i>
                <div id="div2">
                    <ul class="ul" style="text-align: center;">
                            <a href="#"><li>收藏的宝贝</li></a>
                            <a href="#"><li>收藏的店铺</li></a>
                    </ul>
                </div>
            </li>
            <li><a href="#">商品分类</a><i class="iconfont icon-shuxian"></i></li>
            <li onmouseover="show(this)" onmouseout="hide(this)"><a href="#">买家中心</a><i class="iconfont icon-jiantou"></i>
                <div id="div2">
                    <ul class="ul">
                        <a href="#"><li>免费开店</li></a>
                        <a href="#"><li>已卖出的宝贝</li></a>
                        <a href="#"><li>出售中的宝贝</li></a>
                        <a href="#"><li>卖家服务市场</li></a>
                        <a href="#"><li>卖家培训中心</li></a>
                        <a href="#"><li>体检中心</li></a>
                        <a href="#"><li>问商友</li></a>
                    </ul>
                </div>
            </li>
            <li onmouseover="show(this)" onmouseout="hide(this)"><a href="#">联系客服</a><i class="iconfont icon-jiantou"></i>
                <div id="div2">
                    <ul class="ul" style="text-align: center;">
                        <a href="#"><li>消费者客服</li></a>
                        <a href="#"><li>卖家客服</li></a>       
                    </ul>
                </div>
            </li>
            <li id="fff"><a href="#"><i class="iconfont icon-daohang"></i>网站导航</a><i class="iconfont icon-jiantou"></i></li>
            </ul>
        </nav>
        <script type="text/javascript">
            show=function(li){
                var a=li.getElementsByTagName("div")[0];
                a.style.display="block";
            }
            hide=function(li){
                var a=li.getElementsByTagName("div")[0];
                a.style.display="none";
            }
        </script>
        </body>
    </html>
    

    效果图:

    image.png
    image.png

    相关文章

      网友评论

          本文标题:Div的隐藏和显示(实现下拉菜单)

          本文链接:https://www.haomeiwen.com/subject/gdhusftx.html