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

基于jQuery实现鼠标悬停时下拉菜单右侧文本框滑入效果

实现下拉菜单悬停右侧滑入文本框的高效方案

核心思路

借助CSS定位+过渡动画,搭配jQuery监听悬停事件,实现文本框平滑滑入滑出,同时兼容Bootstrap原有下拉菜单逻辑。

具体实现步骤

1. 补充HTML结构

在下拉菜单父元素内新增文本框容器,给每个服务项添加说明文本的自定义属性:

<li class="dropdown" id="services-dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Services <b class="caret"></b></a>
    <!-- 新增服务说明文本框 -->
    <div class="service-tooltip">
        <div class="tooltip-content">
            <p>这里展示对应服务的详细说明</p>
        </div>
    </div>
    <ul class="dropdown-menu w-100">
        <li><a href="#" class="service-item" data-desc="服务1的详细介绍,比如核心功能、适用场景">Service 1</a></li>
        <li><a href="#" class="service-item" data-desc="服务2的特色优势,对比同类服务的差异化">Service 2</a></li>
        <li><a href="#" class="service-item" data-desc="服务3的服务流程,从咨询到交付的全环节说明">Service 3</a></li>
    </ul>
</li>

2. 编写CSS样式

设置文本框的定位规则、初始隐藏状态和过渡动画:

/* 下拉菜单父元素设为相对定位,作为文本框的定位参照 */
#services-dropdown {
    position: relative;
}

/* 服务说明文本框容器 */
.service-tooltip {
    position: absolute;
    top: 0;
    left: 100%;
    width: 320px;
    height: 100%;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-left: none;
    padding: 18px;
    box-shadow: 3px 0 6px rgba(0,0,0,0.08);
    /* 初始状态:左移隐藏+透明 */
    transform: translateX(-25px);
    opacity: 0;
    visibility: hidden;
    /* 平滑过渡动画 */
    transition: all 0.3s ease;
    z-index: 1001; /* 层级高于Bootstrap默认下拉菜单(1000),避免被遮挡 */
}

/* 悬停时触发显示 */
#services-dropdown:hover .service-tooltip,
#services-dropdown .dropdown-menu:hover ~ .service-tooltip {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
}

.tooltip-content p {
    margin: 0;
    color: #333;
    line-height: 1.5;
}

3. 添加jQuery交互逻辑

实现服务项切换时的文本更新,以及下拉菜单悬停自动展开的优化:

$(document).ready(function() {
    // 页面加载时默认显示第一个服务的说明
    var initDesc = $('.service-item:first').data('desc');
    $('.tooltip-content p').text(initDesc);

    // 监听服务项悬停,切换说明文本
    $('.service-item').hover(function() {
        var currentDesc = $(this).data('desc');
        $('.tooltip-content p').text(currentDesc);
    });

    // 优化:鼠标悬停下拉菜单时自动展开(替代点击触发)
    $('#services-dropdown').hover(function() {
        $(this).addClass('open');
    }, function() {
        $(this).removeClass('open');
    });
});

效果说明

  • 鼠标悬停至Services菜单或下拉列表时,右侧文本框平滑滑入显示
  • 鼠标切换不同服务项,文本框内容自动更新对应说明
  • 鼠标离开菜单区域,文本框平滑滑出隐藏

注意事项

  • 若需适配移动端,可通过媒体查询隐藏文本框,保留原有下拉交互
  • 文本框的宽度、配色等样式可根据需求自由调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 08:25:12