gpt4 book ai didi

javascript - JS 中 for 循环的计时

转载 作者:行者123 更新时间:2023-11-28 14:25:55 24 4
gpt4 key购买 nike

我用 JS 编写了这段代码:

function startFunction() {
p1 = document.getElementById('p1').innerHTML;
for (var i=1; i<=p1.length; i++) {
alert(p1.slice(0, i));
}
}

我在 html 中使用 onload 事件调用该函数:

    <body onload="startFunction()">

这是带有 p1 id 的段落:

    <p id="p1">Hi, I'm</p>

如何延迟 for 循环。我希望我的程序逐个字母地写入 p1 文本。

最佳答案

您不能也不应该在循环内延迟任何操作,因为这就是无响应页面的制作方式:浏览器不会对用户操作使用react或执行任何可见的操作,直到 JavaScript 代码返回。

相反,您可以使用一些计时器,例如 setInterval():

function startFunction() {
var p1 = document.getElementById('p1');
var txt = p1.innerHTML;
var i=0;
var timer = setInterval(function() {
p1.innerHTML = txt.slice(0,i++);
if(i>txt.length) {
clearInterval(timer);
}
},500);
}

startFunction();
<p id="p1">Hi, I'm</p>

关于javascript - JS 中 for 循环的计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53287359/

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