代码之家  ›  专栏  ›  技术社区  ›  marius

JQuery拆分操作,改为执行另一个操作

  •  0
  • marius  · 技术社区  · 12 年前

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

    我想启动一个mouseOver事件,该事件在适当的时候执行。目前,当我悬停并离开一个div时,它首先执行mouseenter,完成后执行mouseleave。

    我需要的是,在我把一个div留给鼠标的时候。mouseleave事件应该立即被激活。

    我知道这和.ready函数有关,但我找不到其他函数。

    $(document).ready(function(){
        $("div#one").mouseenter(function() {
            $("div#two").slideDown("normal");
        });
        $("div#one").mouseleave(function() {
            $("div#two").slideUp("normal");
        });
    });
    
    3 回复  |  直到 12 年前
        1
  •  1
  •   Yograj Gupta    12 年前

    试试这个,也许对你有帮助。

    $(document).ready(function(){
        $("div#one").mouseenter(function() {
            $("div#two").stop().slideDown("normal");
        });
        $("div#one").mouseleave(function() {
            $("div#two").stop().slideUp("normal");
        });
    });
    
        2
  •  1
  •   Esailija    12 年前

    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
  •  0
  •   DrColossos    12 年前

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

    看看这个 fiddle