Javascript jQuery变量增量++;不使用脚本
我有一个jQuery函数,可以在ID从状态0到状态5的不同状态消息(p元素)之间切换:Javascript jQuery变量增量++;不使用脚本,javascript,jquery,Javascript,Jquery,我有一个jQuery函数,可以在ID从状态0到状态5的不同状态消息(p元素)之间切换: setTimeout(function() { var next_status; if (current_status < 5) { next_status = current_status++; } else { next_status = 0; } $(".status_visible").fadeOut("fast", f
setTimeout(function() {
var next_status;
if (current_status < 5) {
next_status = current_status++;
} else {
next_status = 0;
}
$(".status_visible").fadeOut("fast", function() {
$("#status_"+next_status).fadeIn("fast");
});
//alert(next_status);
change_status();
}, 10000);
setTimeout(函数(){
var下一步状态;
如果(当前_状态<5){
下一个_状态=当前_状态++;
}否则{
下一个_状态=0;
}
$(“.status_visible”).fadeOut(“快速”,函数(){
$(“状态”+下一个状态).fadeIn(“快速”);
});
//警报(下一状态);
更改_状态();
}, 10000);
我的问题是,首先,current_status
肯定等于0,但当它到达我的增量部分时,仍然是0!我尝试了一个简单的next\u status=current\u status+1
,它返回01而不是1(将它们连接起来),所以我尝试了next\u status=current\u status++
,它仍然返回0
有人能直接告诉我吗:)你的超时方法“setTimeout”会被多次调用吗?如果是这样,您需要将计数器作为具有全局作用域的参数传递,否则每次都会重置计数器 表达式
current_status++
的意思是“增加current_status,并计算为current_status的旧值”,也就是说,使用current_status,然后在记下其值后再增加它
next_status = ++ current_status;
您需要,
++current\u status
,这意味着“增加current\u status,并计算为新值。”就是这样!!非常感谢。除了黄涛建议的预递增运算符外,您还可以用next_status=++current_status%5
@amnotiam替换整个if/else。谢谢,这非常有用,也很有趣。