我知道有很多相关问题(一个几乎完全相同),同样的问题和所有答案。但是,我无法让它发挥作用。
我需要使用:
var direction = 'left';
作为此动画属性的关键:
this.animate({
direction: '500px',
});
我这样做是因为我需要检测一个元素是否在屏幕左侧或右侧,然后我将它从哪一侧保存到direction
var中,然后我想使用该方向var来操纵css left
或right
属性,具体取决于元素的位置......
代码块在
之下 if(this.css('left') != 'auto') {
var direction = 'left';
} else {
var direction = 'right';
}
if(action === 'enter') {
this.addClass('bounce').addClass('positionone');
this.animate({
left: settings.moveTo,
}, settings.walkSpeed, function() {
$(this).removeClass('bounce');
$(this).removeClass('positionone').addClass('positiontwo');
$(this).animate({
top: '100px',
}, settings.sitSpeed);
});
}
这是从我正在创建的'插件'中获取的,这就是为什么它采用“this.animate”格式等。
答案 0 :(得分:4)
首先创建对象,然后使用[]
访问者:
var direction = 'left',
animationOptions = {};
animationOptions[direction] = '500px';
最后,将对象传递给this.animate
方法:
this.animate(animationOptions);