我刚遇到了一个非常奇怪的问题(虽然我解决了它),但我想知道为什么会出现这个问题:
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);
}
这样做起效了,但我不知道为什么第一个代码没有起作用。有人能解释一下吗?谢谢!
appearance
的拼写 - 在代码中拼写很重要(特别是如果您打算在SO上发布它):) - iCollect.it Ltd