javascript - 使用:hover制作下拉框,但是鼠标一移动到下拉框然后就消失了?
阿神
阿神 2017-04-10 16:12:11
[JavaScript讨论组]

我的demo在这
用css伪类做的https://jsfiddle.net/mcguvgy4/,
用jquery做的https://jsfiddle.net/mcguvgy4/1/.
不知为何都遇到这种情况,无法选中下拉框的内容?

阿神
阿神

闭关修行中......

全部回复(4)
黄舟

你触发的hover是<a href="#" class="show" >AAA</a>的,显然当鼠标离开a标签的时候li列表就会隐藏掉了。你将class="show"放到a的父元素li上试一下。

高洛峰
.ul1>li:hover .ul2{
    display:block;
}

这里检测的是li

<a href="#" class="show">AAA</a>

$(function(){
  $(".show").hover(function(){
    $(".ul2").show();
  },function(){
     $(".ul2").hide(); 
  });
});

这里检测的是a

迷茫

html这样改

<li>
        <a href="#" class="show">AAA
        <ul class="ul2">
            <li>BBBBBB</li>
            <li>BBBBBB</li>
            <li>BBBBBB</li>
            <li>BBBBBB</li>
        </ul>
        </a>
    </li>

css

.show:hover>.ul2{...}

黄舟

用 :hover 做是可以了,但是你用错层级关系了,应该用 li 来控制,而不是 a ,a 和 子菜单 ul 都是 li 的子元素,所有滑到 a 和 ul 上都算 :hover ,而你用 a 来控制,滑到 ul 上,a 就不是 :hover 了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号