@@ -345,28 +345,29 @@ var $AnimatorProvider = function() {
345
345
var ELEMENT_NODE = 1 ;
346
346
forEach ( element , function ( element ) {
347
347
if ( element . nodeType == ELEMENT_NODE ) {
348
- var w3cProp = w3cTransitionProp ,
349
- vendorProp = vendorTransitionProp ,
350
- iterations = 1 ,
351
- elementStyles = $window . getComputedStyle ( element ) || { } ;
348
+ var elementStyles = $window . getComputedStyle ( element ) || { } ;
352
349
353
- //use CSS Animations over CSS Transitions
354
- if ( parseFloat ( elementStyles [ w3cAnimationProp + durationKey ] ) > 0 ||
355
- parseFloat ( elementStyles [ vendorAnimationProp + durationKey ] ) > 0 ) {
356
- w3cProp = w3cAnimationProp ;
357
- vendorProp = vendorAnimationProp ;
358
- iterations = Math . max ( parseInt ( elementStyles [ w3cProp + animationIterationCountKey ] ) || 0 ,
359
- parseInt ( elementStyles [ vendorProp + animationIterationCountKey ] ) || 0 ,
360
- iterations ) ;
361
- }
350
+ var transitionDelay = Math . max ( parseMaxTime ( elementStyles [ w3cTransitionProp + delayKey ] ) ,
351
+ parseMaxTime ( elementStyles [ vendorTransitionProp + delayKey ] ) ) ;
352
+
353
+ var animationDelay = Math . max ( parseMaxTime ( elementStyles [ w3cAnimationProp + delayKey ] ) ,
354
+ parseMaxTime ( elementStyles [ vendorAnimationProp + delayKey ] ) ) ;
362
355
363
- var parsedDelay = Math . max ( parseMaxTime ( elementStyles [ w3cProp + delayKey ] ) ,
364
- parseMaxTime ( elementStyles [ vendorProp + delayKey ] ) ) ;
356
+ var transitionDuration = Math . max ( parseMaxTime ( elementStyles [ w3cTransitionProp + durationKey ] ) ,
357
+ parseMaxTime ( elementStyles [ vendorTransitionProp + durationKey ] ) ) ;
365
358
366
- var parsedDuration = Math . max ( parseMaxTime ( elementStyles [ w3cProp + durationKey ] ) ,
367
- parseMaxTime ( elementStyles [ vendorProp + durationKey ] ) ) ;
359
+ var animationDuration = Math . max ( parseMaxTime ( elementStyles [ w3cAnimationProp + durationKey ] ) ,
360
+ parseMaxTime ( elementStyles [ vendorAnimationProp + durationKey ] ) ) ;
361
+
362
+ if ( animationDuration > 0 ) {
363
+ animationDuration *= Math . max ( parseInt ( elementStyles [ w3cAnimationProp + animationIterationCountKey ] ) || 0 ,
364
+ parseInt ( elementStyles [ vendorAnimationProp + animationIterationCountKey ] ) || 0 ,
365
+ 1 ) ;
366
+ }
368
367
369
- duration = Math . max ( parsedDelay + ( iterations * parsedDuration ) , duration ) ;
368
+ duration = Math . max ( animationDelay + animationDuration ,
369
+ transitionDelay + transitionDuration ,
370
+ duration ) ;
370
371
}
371
372
} ) ;
372
373
$window . setTimeout ( done , duration * 1000 ) ;
0 commit comments