【发布时间】:2012-01-11 00:54:07
【问题描述】:
在我扯掉头发并在调试方面走错路之前。有人可以确认此代码将按预期进行。 IE。将 5 个 div 动画到不同的位置:
var i, j, k;
$('#menuButton').click(function(){
for (i=1; j=0; k=150; i<=5; i++; j+=30; k-=30){
$('.spinner #item' + i).animate({
left: '+=' + j,
bottom: '+=' + k
}, 500, function() {
// Animation complete.
});
}
});
当我点击#menuButton 时,什么也没有发生,我得到这个错误:
Uncaught SyntaxError: Unexpected token ;在'for()' 行...
【问题讨论】:
-
一个 for 循环只需要三个表达式。您可能希望在变量赋值之间使用
,。;用于分隔初始赋值、条件和每次迭代后要运行的表达式。 -
为什么要增加三个不同的变量而不是增加一个并乘以其他值? jsfiddle.net/jasper/7fkx7/2
-
@Jasper 我非常喜欢这个,但它不太符合我的要求,我需要从我定义的值开始......
-
@benhowdle89 明白了。我看到这种语法在这种情况下很容易使用。但是您可以将初始值添加到每个乘法:jsfiddle.net/jasper/7fkx7/3。
bottom : '+=' + (i * -30 + 150)。就像他们在高中教你代数一样:)...ax+c(其中c是你的常数,a是你的斜率/速率) -
@Jasper 太棒了!!!出于兴趣,我将如何应用稍微弯曲的效果,而不仅仅是一行...
标签: javascript jquery for-loop