Skip to content

Commit ad7afe4

Browse files
committed
🔧 Fix animation detection function issue
1 parent 8fdc91a commit ad7afe4

File tree

4 files changed

+33
-28
lines changed

4 files changed

+33
-28
lines changed

animate.js

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -437,34 +437,37 @@ function setElementValue(element, animationType, propertyKey, value, unit) {
437437
* There are three types of animations
438438
* 'transform', 'opacity', 'object'
439439
*
440+
* @param {*} element The animatable element.
440441
* @param {String} key The property key.
441442
* @returns {String}
442443
*/
443-
function getAnimationType(key) {
444-
switch (key) {
445-
case 'x':
446-
case 'y':
447-
case 'translateX':
448-
case 'translateY':
449-
case 'translateZ':
450-
case 'scale':
451-
case 'scaleX':
452-
case 'scaleY':
453-
case 'scaleZ':
454-
case 'skew':
455-
case 'skewX':
456-
case 'skewY':
457-
case 'skewZ':
458-
case 'rotate':
459-
case 'rotateX':
460-
case 'rotateY':
461-
case 'rotateZ':
462-
return 'transform';
463-
case 'opacity':
464-
return 'opacity';
465-
default:
466-
return 'object';
444+
function getAnimationType(element, key) {
445+
if (isDOM(element)) {
446+
switch (key) {
447+
case 'x':
448+
case 'y':
449+
case 'translateX':
450+
case 'translateY':
451+
case 'translateZ':
452+
case 'scale':
453+
case 'scaleX':
454+
case 'scaleY':
455+
case 'scaleZ':
456+
case 'skew':
457+
case 'skewX':
458+
case 'skewY':
459+
case 'skewZ':
460+
case 'rotate':
461+
case 'rotateX':
462+
case 'rotateY':
463+
case 'rotateZ':
464+
return 'transform';
465+
case 'opacity':
466+
return 'opacity';
467+
}
467468
}
469+
470+
return 'object';
468471
}
469472

470473
/**
@@ -542,6 +545,8 @@ function generateAnimations(elements, params) {
542545
// same properties for all selected elements, that
543546
// means that we can parse properties first
544547
// before looping through elements.
548+
// TODO: Retrieve animation type first
549+
// before parsing properties (in order to not translate properties of objects)
545550
var properties = parseProperties(params.p);
546551
var animations = [];
547552
var instanceDuration = 0;
@@ -561,7 +566,7 @@ function generateAnimations(elements, params) {
561566
forEachIn(Object.keys(properties))(function(key) {
562567
var property = { n: key, v: properties[key] };
563568
// Get the animation type.
564-
var animationType = getAnimationType(key);
569+
var animationType = getAnimationType(element, key);
565570
var parameters = extend(params, {
566571
el: element,
567572
type: animationType,

dist/Animate.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)