javascript - 关于JS动画显示下拉菜单的问题~~求解决~~非常感谢~
怪我咯
怪我咯 2017-04-10 16:42:26
[JavaScript讨论组]

想实现效果是客户鼠标移动到公司产品上后显示隐藏的产品A,B,C
然后鼠标移动到非产品A,B,C区域也隐藏掉。但是客户鼠标移动到
产品A,B,C区域后不能隐藏,客户鼠标离开产品A,B,C后再隐藏
问题是显示隐藏的产品A,B,C以后不能让它一直显示!!!求大神解决
看着很简单的效果~就是实现不了郁闷

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <script src="jquery-1.11.3.js"></script>
    <style>
        .ul{
            position: absolute;
            display: none;
           }
    </style>
</head>
<body>
    <a href="#">公司产品</a>
    <p class="ul">
        <ul>
            <li>产品A</li>
            <li>产品B</li>
            <li>产品C</li>
        </ul>
    </p>
    <script>
    $("a").mouseover(function(){
        $(".ul").slideDown(1000);
    })
     
     $("a").mouseout(function(){
        $(".ul").slideUp(1000);
    })
     //想实现效果是客户鼠标移动到公司产品上后显示隐藏的产品A,B,C
     //然后鼠标移动到非产品A,B,C区域也隐藏掉。但是客户鼠标移动到
     // 产品A,B,C区域后不能隐藏,客户鼠标离开产品A,B,C后再隐藏
     //问题是显示隐藏的产品A,B,C以后不能让它一直显示!!!求大神解决
</script>
</body>

</html>

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
怪我咯
<head>
    <meta charset="utf-8">
    <title></title>
    <script src="js/jquery.min.js"></script>
    <style>
        .box {
            position: absolute;
            display: none;
           }
    </style>
</head>
<body>
    <p class="ul">
    <a href="#">公司产品</a>
        <p class="box">
        <ul>
            <li>产品A</li>
            <li>产品B</li>
            <li>产品C</li>
        </ul>
        </p>
    </p>
    <script>
    $(".ul").mouseenter(function(){
        $(this).children('.box').slideDown(1000);
    });  
    $(".ul").mouseleave(function(){
        $(this).children('.box').slideUp(1000);
    });
</script>
</body>

主要问题有两个:
第一html页面结构不对,二是需要使用不冒泡的mouseenter,避免列表中多次触发动画
但还有一个问题是快速进入移出区域会导致动画排队播放,抛个砖,可以不用动画直接改变display或者考虑使用clearQueue()

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

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