【发布时间】:2014-02-06 23:55:24
【问题描述】:
我知道有很多相关的问题(一个几乎完全相同),同样的问题和答案。但是,我无法让它工作。
我需要使用:
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”等格式。
【问题讨论】:
-
首先,在
if之前声明var direction。否则,您将只能在if的范围内访问它。 -
@Cerbrus 我以为javascript只知道函数范围?那会使您的建议错误
-
@RononDex 你是right
-
哎呀,忽略我之前的评论。那不是真的,范围在这里不是问题。 Herp derp,我在想什么。 -.-
-
@crush 其实这里已经是 16:32 了:P
标签: javascript jquery css object jquery-animate