javascript - 如何在 jQuery 中控制我的悬停事件?

标签 javascript jquery css transition

我试图在“.menu”悬停时显示覆盖 div。我用 hover 来显示 div(首先用 CSS 隐藏),用 mouseleave 来重置它。我该怎么做才能使鼠标需要在菜单上停留几秒钟才能显示出来,所以如果它只是快速滚动它就不会做任何事情。我知道我可以用 delay() 来做到这一点,但如果我快速按下按钮 5 次,屏幕会随着覆盖层闪烁 5 次。我怎样才能让它只执行一次然后终止。

谢谢。

 $( document ).ready(function() {

        $(".menu").hover(function() {
            $(".page-overlay").delay(600).fadeIn(200);
        });

        $(".menu").mouseleave(function() { 
            $(".page-overlay").fadeOut(200); 
        });

});

最佳答案

jQuery 的 hover 方法适应鼠标进入 离开事件,所以你真的不需要做一个显式的 mouseleave 事件处理程序.

hover像这样工作:

$( ... ).hover(function(){
    // Here is the mouse entering function
},
function(){
    // Here is the mouse exiting function
});

所以你可以将你的代码调整成这样:

$(".menu").hover(function() {
    $(".page-overlay").delay(600).fadeIn(200);
},
function(){
    $(".page-overlay").fadeOut(200);
});

关于javascript - 如何在 jQuery 中控制我的悬停事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34164228/

相关文章:

jquery - 通过 AJAX 发送重定向响应时如何防止浏览器重定向?

javascript - 如何在文本区域中的行之间绘制分隔符

html - 为什么我不能设置此链接的样式?

JavaScript:创建返回基于输入参数返回值或对象的函数的函数

javascript - `if (console == undefined)` 怎么会中断 js 执行?

javascript - Shadow dom 隐藏 innerHTML

javascript - TinyMCE - 允许文本作为 <table> 和/或 <tr> 的直接子元素

php - :not(:first-child) and Jquery 1. 8.0

Javascript 或 CSS 以防止在内容溢出的元素内滚动

javascript - 奇数行和偶数行上的不同 CSS 样式