<分区>
我刚刚遇到了一个非常奇怪的问题(虽然我修复了它)但我想知道为什么它首先会发生:
function stuffAppear() {
var i;
for (i = 0; i < speech.length; i++) {
apperance(i);
}
}
function apperance(i) {
var x = speech[i];
setTimeout(function() {$(speech[i]).fadeIn(1000); console.log(i);}, 1000 + i * 1500);
console.log(speech[i]);
}
控制台日志显示“#yo0”然后是“#ma0b”(这是必需的)但与此同时,它们从未消失
我一直在研究代码,直到我得到这个:
function stuffAppear() {
var i;
for (i = 0; i < speech.length; i++) {
apperance(i);
}
}
function apperance(i) {
var x = speech[i];
setTimeout(function() {$(x).fadeIn(1000); console.log(i);}, 1000 + i * 1500);
}
这就成功了,但我不知道为什么第一个代码不起作用。有人可以向我解释一下吗? 谢谢!