xiaofu_hu 2021-04-29 15:30 采纳率: 50%
浏览 38

关于js写二级菜单 弹出false的问题

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>二级菜单</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        #myMenu {
            margin: 100px auto;
            width: 250px;
            height: auto;
            background-color: cornflowerblue;
        }
        
        span {
            padding: 10px;
        }
        
        a {
            background-color: black;
            display: block;
            text-decoration: none;
            color: chartreuse;
            padding: 10px;
        }
        
        a:hover {
            background-color: chocolate;
        }
        
        .menu {
            padding-top: 10px;
            text-align: justify;
        }
        
        .collapsed {
            height: 21px;
            overflow: hidden;
        }
    </style>
    <script src="../myjstools/tools.js"></script>
    <script>
        window.onload = function() {
            var menu = document.getElementsByTagName("span"); // 应该绑定span  因为  会  覆盖到整个div 如果绑定div
            var openDiv = menu[0].parentNode;
            for (var i = 0; i < menu.length; i++)
                menu[i].onclick = function() {
                    var parentDiv = this.parentNode;
                    toggleClass(parentDiv, "collapsed");
                    if (parentDiv == openDiv)
                        return;
                    addClass(openDiv, "collapsed"); // 重新打开页面时会弹出false
                    openDiv = parentDiv;
                };
        };
    </script>
</head>

<body>

    <div id="myMenu">
        <div class="menu">
            <span class="menuSpan">在线工具</span>
            <a href="#">你猜</a>
            <a href="#">你猜</a>
            <a href="#">你猜</a>
        </div>
        <div class="menu collapsed">
            <span class="menuSpan">支持我们</span>
            <a href="#">合作</a>
            <a href="#">合作</a>
            <a href="#">合作</a>
            <a href="#">合作</a>
        </div>
        <div class="menu collapsed">
            <span class="menuSpan">测试电流</span>
            <a href="#">not</a>
            <a href="#">not</a>
            <a href="#">not</a>
            <a href="#">not</a>
        </div>
    </div>

</body>

</html>

重新加载

当同时关闭三个div时 并且再打开其他另外两个中的任一个时就会弹出false

  • 写回答

1条回答 默认 最新

  • 我是李大福 2023-02-27 10:52
    关注

    你没上传tools.js,无法帮你调试。
    建议你写for循环和if判断的时候,加上大括号{}
    for(){},
    if(){},
    避免给自己增加麻烦。

    评论

报告相同问题?

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络