Satrol_ 2022-11-09 14:49 采纳率: 90.9%
浏览 23
已结题

js实现导航栏不知道哪里出错?

一点击出现单块闪一下粉色的情况


<!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>Document</title>
    <style>
        .nav {
            background-color: aqua;
            width: 400px;
            height: 60px;
            display: flex;
            line-height: 60px;
            text-align: center;
            margin: 100px auto 0;
        }
        .nav a {
            flex: 1;
            text-decoration: none;
        }
        .current {
            background-color: pink;
        }
        .nav_con {
            width: 400px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="nav">
        <a href="" class="current">123</a>
        <a href="">123</a>
        <a href="">123</a>
        <a href="">123</a>
    </div>
    <div class="nav_con">
        <div>123</div>
        <div>123</div>
        <div>123</div>
        <div>123</div>
    </div>
    <script>
        var nav = document.querySelector('.nav');
        var a = nav.querySelectorAll('a');
        for (var i = 0;i<a.length;i++) {
            a[i].onclick = function(){
                for (var i = 0;i<a.length;i++) {
                   this.className = '';
                }
                this.className = 'current';
            }
        }
    </script>
</body>
</html>
  • 写回答

2条回答 默认 最新

  • 汤卓杰 2022-11-09 15:06
    关注
    • 闪烁的原因是:你有href属性,相当于重进页面。要么去掉。<a>123</a>,这样就失去样式了,即鼠标悬浮到a标签上,没有手指样式,需要手动设置css。你也可以写成<a href="javascript:void(0)">123</a>
    • 你删除类名错了,this是指的你所点击的a标签,效果就是,点击谁,它类名设为""多次,然后获取选中的类名。把this.className=""改为a[i].className=""
    • 这种是把全部类名去掉,如果有其他类名也没了。你这里没区别。
    • 才发现你两次循环都是用的变量i,建议分别用俩名字。你这里没报错没bug,完全是运气好。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 修改了问题 11月9日
  • 创建了问题 11月9日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度