首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript for循环中的多个计数器

Javascript for循环中的多个计数器
EN

Stack Overflow用户
提问于 2011-12-02 05:52:04
回答 3查看 26.6K关注 0票数 34

在我撕裂头发,走上调试方面的错误道路之前。有没有人能确认这段代码会按预期执行。即。将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时,什么也没有发生,并收到以下错误:

未捕获SyntaxError:意外的标记;在‘

()’行上...

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-02 05:54:36

在需要逗号的地方有一些分号:

for (i=1, j=0, k=150; i<=5; i++, j+=30, k-=30) { /* do work */ }

您的for中应该只有三个“语句”

for( [init]; [test]; [increments]) { [block] }

要执行多个[inits][increments],您必须使用magical, but oft forgotten, comma operator

票数 54
EN

Stack Overflow用户

发布于 2011-12-02 05:54:45

那里有太多的分号

for (i=1; j=0; k=150; i<=5; i++; j+=30; k-=30){

应该是

for (i=1, j=0, k=150; i<=5; i++, j+=30, k-=30){
票数 16
EN

Stack Overflow用户

发布于 2011-12-02 05:58:05

您在代码中犯了语法错误,如果使用static code analysis tools such as the lovely JSHint,您可以很容易地发现这些错误。

此外,您还应进一步了解comma operator在JavaScript中的使用,我们的网站有a few answers on it already

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8348792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档