云计算-web第六次作业

项目要求

使用JS实现下拉菜单效果

代码演示

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        html,body{
            width: 100%;
            height: 100%;
        }
        html{
            font-size: 10px;
        }
        /*页面样式*/
        .nav{
            width: 100%;
            height: 6rem;
            background-color: bisque;

            display: flex;
            justify-content: center;
        }
        .content{
            width: 40rem;
            height: 5rem;
            background-color: bisque;

            display: flex;
            justify-content: start;
            padding: 5px; /* 修正为 padding */
        }
        .content .item{
            width: 10rem;
            height: 5rem;
            background-color: bisque;
            padding: 0 1rem; /* 调整内边距 */

            display: flex;
            /*横向排列*/
            justify-content: center;
            /*纵向排列*/
            align-items: center;
            position: relative; /* 为子菜单定位 */
        }
        .content .item:hover{
            background-color: blueviolet;
            color: yellow;
            cursor: pointer;
        }
        .content .item ul{
            position: absolute;
            top: 100%;
            left: 0;
            width: 10rem;
            background-color: rgb(146, 14, 223);

            display: none; /* 隐藏子菜单 */
            flex-direction: column;
            justify-content: center;
            align-items: center;
        } 
        .fu{
            background-color: rgb(146, 14, 223);

            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
    </style>

</head>
<body>

    <div class="nav">

          <ul class="content">
              <li class="item">首页</li>

              <li class="item">文章
                <ul>
                  <li class="fu">我的文章</li>
                  <li class="fu">发表文章</li>
                </ul>
              </li>
              
              <li class="item">相册
                <ul>
                  <li class="fu">我的相册</li>
                  <li class="fu">发表相册</li>
                </ul>
             </li>
              
              <li class="item">消息
                <ul>
                  <li class="fu">我的私信</li>
                  <li class="fu">发表消息</li>
                </ul>
              </li>
          </ul>
    </div>

    <script>
        // 获取所有的 li
        let menu1 = document.getElementsByClassName("item");
        // 循环
        for (let i = 0; i < menu1.length; i++) {
            menu1[i].onmouseenter = function () {
                // 获取当前 li 下的 ul
                let subMenu = this.getElementsByTagName("ul")[0];
                if (subMenu) {
                    // 显示
                    subMenu.style.display = "flex";
                }
            };
            menu1[i].onmouseleave = function () {
                // 获取当前 li 下的 ul
                let subMenu = this.getElementsByTagName("ul")[0];
                if (subMenu) {
                    // 隐藏
                    subMenu.style.display = "none";
                }
            };
        }
    </script>
</body>
</html>

效果演示

效果演示
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容