0

我的问题是为我的问题找到一个合适的搜索短语。我认为这个论坛上有一些关于这个的答案。

我想启动一个 mouseOver 事件,该事件会及时执行合适的操作。目前,当我悬停并离开 one-div 时,它首先执行 mouseenter,完成后执行 mouseleave。

我需要的是在我离开鼠标的时候。mouseleave 事件应该立即被激活。

我知道它与 .ready 函数有关,但我找不到任何其他函数。

$(document).ready(function(){
    $("div#one").mouseenter(function() {
        $("div#two").slideDown("normal");
    });
    $("div#one").mouseleave(function() {
        $("div#two").slideUp("normal");
    });
});
4

3 回答 3

1

试试这个,可能对你有帮助。

$(document).ready(function(){
    $("div#one").mouseenter(function() {
        $("div#two").stop().slideDown("normal");
    });
    $("div#one").mouseleave(function() {
        $("div#two").stop().slideUp("normal");
    });
});
于 2012-09-11T10:38:35.577 回答
1

mouseenter 和 mouseleave 工作正常,这是您在不停止队列的情况下继续排队的动画。试试这个:

$(document).ready(function(){
    $("div#one").mouseenter(function() {
        $("div#two").stop(true, true).slideDown("normal");
    }).mouseleave(function() {
        $("div#two").stop(true, true).slideUp("normal");
    });
});
于 2012-09-11T10:39:35.830 回答
0

您需要添加一个stop()以中止当前正在运行的动画。

See this fiddle

于 2012-09-11T10:40:15.893 回答