添加缓动的jQuery打破了之后的动画。语法错误?

时间:2014-07-15 17:39:17

标签: javascript jquery animation

我正在向网站添加动画,并且在添加缓动方面有点困难。我可以让整个动画序列正确运行,但是当我尝试定义缓动时,动画会在我定义缓动的第一个元素之后的所有动画上中断。

基本的动画序列是页面的下半部分淡入并且向上飞行以迎合上半部分。然后三个按钮淡入并按顺序飞到指定位置。它看起来没问题,但easOutBounce看起来好多了。

我现在已经和它搏斗了太久,试图找出为什么添加缓动会破坏我的代码。我猜测我的语法不正确。

此代码适用于所有元素:

jQuery( '.front-page-content-wrap' ).animate( {marginTop: 0, opacity: 1}, 600, function(){
    jQuery( "#box-button-1" ).animate( { bottom: 78, opacity: 1 }, function(){
       jQuery( "#box-button-2" ).animate( { bottom: 78, opacity: 1 }, function(){
         jQuery( "#box-button-3" ).animate( { bottom: 78, opacity: 1 } );
       } ); 
    } );  
});

但这段代码并没有。当我运行此代码时,它确实添加了缓动,它仍可在.front-page-content-wrap#box-button-1上运行,但随后会停止。

jQuery( '.front-page-content-wrap' ).animate( {marginTop: 0, opacity: 1}, 600, function(){
    jQuery( "#box-button-1" ).animate( { bottom: 78, opacity: 1 }, { easing: 'easeOutBounce' }, function(){
       jQuery( "#box-button-2" ).animate( { bottom: 78, opacity: 1 }, { easing: 'easeOutBounce' }, function(){
         jQuery( "#box-button-3" ).animate( { bottom: 78, opacity: 1 }, { easing: 'easeOutBounce' } );
       } ); 
    } );  
});

有什么想法吗?

PS,我使用jQuery作为变量标识符而不是$,因为我正在使用无冲突模式运行的wordpress。

1 个答案:

答案 0 :(得分:2)

请尝试以下语法:.animate( properties, options )

jQuery( '.front-page-content-wrap' ).animate( {marginTop: 0, opacity: 1}, 600, function(){
    jQuery( "#box-button-1" ).animate( { bottom: 78, opacity: 1 }, { easing: 'easeOutBounce', complete: function(){
       jQuery( "#box-button-2" ).animate( { bottom: 78, opacity: 1 }, { easing: 'easeOutBounce', complete: function(){
         jQuery( "#box-button-3" ).animate( { bottom: 78, opacity: 1 }, { easing: 'easeOutBounce' } );
       }}); 
    }});  
});

http://jsfiddle.net/mblase75/42BjC/