我刚写了一个小的if,else if循环,我在控制台中遇到unexpected token ';'
错误。如果我在每个;
语句后删除了$(this).css('top', top-3"em");
,则会在}
出现意外之前收到另一个错误else if
!
这是我的循环,我可能误入歧途的任何想法?
$('div.result').each(function() {
$(this).css('top', top+"em");
top = top + 8;
resultcount = resultcount - 1;
if(resultcount=5) {
$(this).css('top', top-3"em");
} else if(resultcount=4) {
$(this).css('top', top-7"em");
} else if(resultcount=3) {
$(this).css('top', top-14"em");
} else if(resultcount=2) {
$(this).css('top', top-20"em");
} else(resultcount=1) {
$(this).css('top', top-30"em");
}
});
答案 0 :(得分:3)
您正在设置resultcount var,您没有检查它:
if(resultcount===5) {
$(this).css('top', "top-3em");
}
else if(resultcount===4) {
$(this).css('top', "top-7em");
}
else if(resultcount===3) {
$(this).css('top', "top-14em");
}
else if(resultcount===2) {
$(this).css('top', top-20"em");
}
else {
$(this).css('top', "top-30em");
}
使用===
检查结果和类型。
此外还有很多语法错误,请尝试使用开发人员工具进行调试。
答案 1 :(得分:2)
试试这个 如果忘记在每个css参数中添加+,则应使用==而不是= inside。
$('div.result').each(function() {
$(this).css('top', top + " em");
top = top + 8;
resultcount = resultcount - 1;
if(resultcount ==5) {
$(this).css('top', top-3 + "em");
} else if(resultcount==4) {
$(this).css('top', top-7 + "em");
} else if(resultcount==3) {
$(this).css('top', top-14 + "em");
} else if(resultcount==2) {
$(this).css('top', top-20 + "em");
}
});
答案 2 :(得分:1)
您的语法错误很少,可能需要更多地修正。
您需要使用等于运算符===
而不是赋值运算符=
你错过了if if last last if。
您必须使用+
来连接字符串top-3"em"
将是(top-3)+"em"
这是语法错误
<强> Live Demo 强>
$('div.result').each(function() {
$(this).css('top', top+"em");
top = top + 8;
resultcount = resultcount - 1;
if(resultcount===5) {
$(this).css('top', (top-3)+"em");
} else if(resultcount===4) {
$(this).css('top', (top-7)+"em");
} else if(resultcount===3) {
$(this).css('top', (top-14)+"em");
} else if(resultcount===2) {
$(this).css('top', (top-20)+"em");
} else if(resultcount===1) {
$(this).css('top', top-30+"em");
}
});