【问题标题】:JQuery breakup action and do another insteadJQuery 拆分操作并执行另一个操作
【发布时间】:2012-09-11 10:29:31
【问题描述】:

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

我想启动一个 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");
    });
});

【问题讨论】:

  • 没有得到你想要达到的目标,但是为什么你认为 mouseleave 事件没有被立即调用?
  • 我没有得到你的问题。但是做$("div#two").stop().slideDown("normal"); 和`$("div#two").stop()slideUp("normal"); 有帮助吗?

标签: jquery


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    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");
        });
    });
    

    【讨论】:

      【解决方案3】:

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

      看到这个fiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-06
        相关资源
        最近更新 更多