李由284 2024-03-16 16:55 采纳率: 14.3%
浏览 5
已结题

设计导航栏时,只有点击首页的时候选中效果才会展示

设计导航栏时,只有点击首页的时候选中效果才会展示,其他的不会变
如图所示

img


这是什么原因呀
这是我写的界面

img

img


希望得到大家的帮助!感谢

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-16 16:55
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 在设计导航栏时,只有点击首页选项时才会出现选中效果,其他选项不会发生变化。这是因为在点击首页选项时,页面会重新加载,而其他选项只是通过 JavaScript 切换页面内容。 解决方案: 在 HTML 中为首页选项添加一个 class,用于表示当前选中状态。然后在 JavaScript 中,当点击其他选项时,移除首页选项的 class,同时给当前点击的选项添加 class。 示例代码: HTML:
    <nav>
      <ul>
        <li class="active"><a href="#">首页</a></li>
        <li><a href="#">新闻</a></li>
        <li><a href="#">产品</a></li>
        <li><a href="#">关于</a></li>
      </ul>
    </nav>
    

    CSS:

    nav ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    nav li {
      display: inline-block;
      margin-right: 10px;
    }
    nav li a {
      text-decoration: none;
    }
    nav li.active a {
      background-color: #333;
      color: #fff;
    }
    

    JavaScript:

    var navItems = document.querySelectorAll('nav li');
    for (var i = 0; i < navItems.length; i++) {
      navItems[i].addEventListener('click', function() {
        // Remove active class from all items
        for (var j = 0; j < navItems.length; j++) {
          navItems[j].classList.remove('active');
        }
        
        // Add active class to clicked item
        this.classList.add('active');
      });
    }
    

    效果: 点击其他选项时,首页选项的选中状态会取消,当前点击的选项会变为选中状态。 参考文献: - https://stackoverflow.com/questions/6000498/add-remove-active-class-from-a-list-item/6000517#6000517

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月16日
  • 创建了问题 3月16日

悬赏问题

  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题