【问题标题】:jQuery hover animation queuejQuery悬停动画队列
【发布时间】:2014-07-22 13:36:33
【问题描述】:

无法完全理解 jQuery 中的动画是如何排队和初始化的。尝试通过编写一些按钮效果来更熟悉这个概念。

我想把下面笔的代码变成一个流畅的动画(你可以看到如果你多次将鼠标悬停在按钮上会遇到一些问题),它会在 只有当有没有其他动画正在播放,然后仅在悬停动画完成时执行悬停动画。

这是我的代码:http://jsbin.com/larukayi/1/edit

提前感谢您的帮助!

【问题讨论】:

    标签: javascript jquery animation


    【解决方案1】:

    我认为以下更改会给您带来预期的结果:

      button1.css("cursor", "pointer").hover(
            function(){
            slideup.stop(true).animate({
              "bottom":"0px"
            }, 150, 'linear');
            slideup.delay(100).animate({
              "left":"50px"
            },150,'linear');
            slideright.delay(550).animate({
              "left":"0px"
            }, 100, 'swing');
          }, 
        function(){
            slideright.stop(true).animate({
              "left":"-50px"
            },150,'linear');
            slideup.delay(100).animate({
              "left":"0px"
            }, 150, 'linear');
            slideup.delay(100).animate({
              "bottom":"-100px"
            },150,'linear');
          });
    

    【讨论】:

    • 谢谢,这有帮助,但是有没有办法让每次悬停时的动画都完成?我的意思是当我将鼠标悬停在动画上时,我希望动画完全执行,无论我是否将鼠标悬停在动画中间?
    • 什么时候动画回到原来的位置?
    • 我想在悬停/悬停时浏览整个动画。如果我将鼠标悬停在按钮上一次并在悬停动画完成之前悬停,我仍然希望它在任何其他动画尝试开始之前完成并返回到原始位置。
    • 看看这个fiddle,希望它适合你的目标.. ^^
    猜你喜欢
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多