首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS for循环问题

问JS for循环问题
EN

Stack Overflow用户
提问于 2010-09-03 07:11:26
回答 3查看 73关注 0票数 0

我有下面的代码...

代码语言:javascript
复制
var ToggleButtons=new Array();
ToggleButtons[0] = "#Click";
ToggleButtons[1] = "#DoubleClick";
ToggleButtons[2] = "#Drag";
ToggleButtons[3] = "#RightClick";
ToggleButtons[4] = "#MiddleClick"; 


function SelectButton(id) {
    var x = 0;
    for (x = 0; x++; x < ToggleButtons.length) {
        if (x == id) {
            $(ToggleButtons[x]).addClass('ToggleButtonSelected');
        } else {
            $(ToggleButtons[x]).removeClass('ToggleButtonSelected');
        }
    }
} 

但是,当我在n=0->4的情况下调用SelectButton(n)时,它命中了for()行,并直接跳到右大括号。

在执行前的for()行上,Firebug显示(例如)

代码语言:javascript
复制
id=2
ToggleButtons.length=5
x=0

我感觉我漏掉了一些明显的东西但我不确定是什么,

非常感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-03 07:14:07

for循环的部分是错误的,它应该是初始化,条件,然后是增量:

代码语言:javascript
复制
 for (x = 0; x < ToggleButtons.length; x++)
票数 2
EN

Stack Overflow用户

发布于 2010-09-03 07:13:56

您的for()订单混淆了,这是:

代码语言:javascript
复制
for (x = 0; x++; x < ToggleButtons.length) {

应该是:

代码语言:javascript
复制
for (x = 0; x < ToggleButtons.length; x++) {

您可以使用.toggleClass("class", bool)将其缩短一点,如下所示:

代码语言:javascript
复制
function SelectButton(id) {
    for (var x = 0; x < ToggleButtons.length; x++) {
        $(ToggleButtons[x]).toggleClass('ToggleButtonSelected', x === id);
    }
} 

一种更好的方法是缓存选择器,这样它们就不会每次都运行,如下所示:

代码语言:javascript
复制
var ToggleButtons = [$("#Click"), $("#DoubleClick"), $("#Drag"), $("#RightClick"), $("#MiddleClick")]; 

function SelectButton(id) {
    $(".ToggleButtonSelected").removeClass('ToggleButtonSelected');
    ToggleButtons[id].addClass('ToggleButtonSelected');
} 
票数 4
EN

Stack Overflow用户

发布于 2010-09-03 07:14:36

更改此行:

代码语言:javascript
复制
for (x = 0; x++; x < ToggleButtons.length) {

要这样做:

代码语言:javascript
复制
for (x = 0; x < ToggleButtons.length; x++) {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3631960

复制
相关文章

相似问题

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