javascript - JQuery 如果悬停在任一元素上

标签 javascript jquery html css fadein

所以我有 2 个 div。一个是“顶部”,一个是“菜单”。当您将鼠标悬停在 JQuery 的“顶部”时,我得到“菜单”淡入,如图所示:

$(".top").mouseover(function(){
    $(".menu").fadeIn(200);
});

$(".top").mouseout(function(){
    $(".menu").fadeOut(200);
});

但我想这样做,如果我也悬停在“菜单”上,“菜单”将保持淡入状态。我该怎么做?

最佳答案

我相信这会为您做到。在隐藏菜单之前等待半秒钟。如果此时用户将鼠标悬停在菜单上,则取消隐藏操作。

var timer;

$(".top").mouseover(function(){
    clearTimeout(timer);
    $(".menu").fadeIn(200);
});

$(".top, .menu").mouseout(function(){
    timer = setTimeout(function() {
        $(".menu").fadeOut(200);
    }, 500);
});

$(".menu").mouseover(function() {
    clearTimeout(timer);
});

关于javascript - JQuery 如果悬停在任一元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7424561/

相关文章:

javascript - jQuery - 检测点击浏览器后退按钮并提交表单

javascript - 让 dragula 在悬停在元素上时显示放置位置

javascript - 在 div 上复制输入滚动

javascript - 添加新的第一个参数,然后应用原始参数

javascript - 不将函数声明为另一个自定义函数的原型(prototype)的用例?

javascript - 提交表单并在 <a> 单击时调用 Ajax

javascript - 无法覆盖 jQuery UI 自动完成中的 _renderItem 函数

javascript - MongoDB - $set 更新或推送数组元素

php - 在 codeigniter 中前进到下一页时显示警报对话框

html - CSS z-index 在我的 Rails 5 应用程序中表现异常