You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Bootstrap标签页鼠标悬停切换效果?

Bootstrap标签页鼠标悬停切换实现方案

你的代码核心问题是脚本加载顺序错误——Bootstrap的jQuery依赖需要在Bootstrap本身之前加载,否则Bootstrap无法绑定jQuery插件,导致tab('show')方法失效。

修正步骤:

  • 调换脚本加载顺序,先引入jQuery,再引入Bootstrap
  • 简化悬停触发逻辑,直接对导航按钮调用tab('show'),Bootstrap会自动处理标签页切换和激活样式同步

完整修正代码:

<div class="container">
    <nav class="nav nav-tabs"> <!--nav-pills 会让样式更像菜单,去掉标签页的默认下划线效果-->
        <button data-bs-toggle="tab" data-bs-target="#abaEle" class="nav-link active" type="button">电子产品</button>
        <button data-bs-toggle="tab" data-bs-target="#abaMas" class="nav-link" type="button">男装</button>
        <button data-bs-toggle="tab" data-bs-target="#abaFem" class="nav-link" type="button">女装</button>
    </nav>
    <div class="tab-content">
        <div class="tab-pane active" id="abaEle">
            电子产品标签页内容
        </div>
        <div class="tab-pane" id="abaMas">
            男装标签页内容
        </div>
        <div class="tab-pane" id="abaFem">
            女装标签页内容
        </div>
    </div>
</div>
<!-- 先加载jQuery,确保Bootstrap能识别到它 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<!-- 再加载Bootstrap -->
<script src="lib/bootstrap.bundle.min.js"></script>
<script>
    $(document).ready(function() {
        $(".nav-link").mouseenter(function() {
            // 直接触发当前导航按钮对应的标签页切换
            $(this).tab('show');
        });
    });
</script>

额外说明:

  • 无需手动修改active类,tab('show')方法会自动更新导航按钮和对应标签页的激活状态
  • 若需要优化交互,可添加mouseleave事件逻辑(比如保持当前选中状态,不自动切回原标签)

内容的提问来源于stack exchange,提问作者Vatuzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 05:50:21