gpt4 book ai didi

javascript - 创建简单的打字效果

转载 作者:行者123 更新时间:2023-11-30 08:06:58 26 4
gpt4 key购买 nike

function say(str){
for(i=0;i<str.length;i++){
setTimeout(function(){
$("#text").append(str[i]);
console.log(str[i]);
},
i*200);
}
}

say("Hello World !");

看:http://jsfiddle.net/XnKNX/

似乎每个 str[i] 都是未定义的;

如何让它发挥作用?我正在学习,所以如果有人解释一下就太好了。谢谢。

最佳答案

那是因为当你给setTimeout的回调被调用时,i的值是循环结束。

一种解决方案是将其更改为

function say(str){
for(i=0;i<str.length;i++){
(function(i){
setTimeout(function(){
$("#text").append(str[i]);
},
i*200);
})(i);
}
}

这会在立即调用的内部函数中保存迭代时 i 的值。

关于javascript - 创建简单的打字效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16739774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com