【问题标题】:jquery animate - stop animate finishing if another animate beginsjquery animate - 如果另一个动画开始,则停止动画完成
【发布时间】:2012-07-15 21:40:30
【问题描述】:

谁能帮我更好地理解动画。

我想知道是否可以在运行时停止当前的动画位置。然后从另一个动画函数中,将它从当前位置继续到新的位置。

这真的很难解释,所以我创建了一个fiddle...


Fiddle

http://jsfiddle.net/motocomdigital/L5uh4/9/

在小提琴中,您将看到一条推文。如果您只是滚动推文,它将为左侧位置设置动画,从而将整个推文显示在视野中。

但如果你退出推文,它会重新开始动画。

注意:如果推文短于可见的推特区域,动画将不会运行。如果发生这种情况,请将小提琴窗口缩小到大致以下大小并重新运行fiddle


我的问题

如果我连续 10 次在推文上悬停和悬停。它想在一个队列中一个接一个地运行所有 10 个动画交替。

我不希望这种情况发生,我需要它,所以如果我将鼠标悬停在推文上 - 动画开始,但如果我悬停在关闭(在动画完成之前),我希望它暂停在当前位置并且动画到悬停关闭位置。而不是堆叠队列。但反过来也可以吗?

有什么简单的方法吗?谢谢


查看我的代码

$("#tweet").tweet({

    username: ["seaofclouds", "laughingsquid"],
    count: 1,
    template: "{text}",
    avatar_size: 32

}).bind("loaded", function(){

    var visible = $('#tweet ul').width(),
        spanTweet = $('span.tweet_text').width();  

    if ( spanTweet > visible ) {

        $('#tweet ul').hover(function() {

            $('#tweet ul li').animate({            
                left : '-' + ( spanTweet - visible ) + 'px'              
            }, 3000 );

        }, function() {

            $('#tweet ul li').animate({              
                left : '0px'              
            }, 3000 );

        });

    }

});


在此先感谢您提供任何帮助:)

【问题讨论】:

    标签: jquery


    【解决方案1】:

    关于.stop的另一个问题。

    $('#tweet ul li').stop().animate( ... );
    

    我希望this fiddle是你想要的。

    【讨论】:

    • 谢谢老兄,我有时很笨,我总觉得事情比实际情况要复杂得多。当它允许我时,我会接受答案。谢谢@亚历山大
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多