【发布时间】:2021-03-30 15:38:53
【问题描述】:
我想写一个简单的代码,一个字母一个字母地写一些句子,然后一个一个地删除它们。 我想在写完每个字母后延迟并添加下一个字母,但代码在等待 1000 毫秒后才写 hellobye。
const writeSentences = () => {
const sentences = ["hello", "bye"];
const config = {
writeDelay: 1000,
removeDelay: 100,
readingDelay: 250
};
const element = document.getElementById("sentence");
sentences.forEach((sentence) => {
sentence.split("").forEach((letter) => {
setTimeout(() => {
element.innerHTML += letter;
}, 1000);
});
});
};
window.addEventListener("DOMContentLoaded", writeSentences());
<span id="sentence"></span>
【问题讨论】:
-
不是直接你的问题,而是当你将它传递给
addEventListener()时删除writeSentences()的括号。否则它将立即执行,而不是在加载 DOM 内容时执行。
标签: javascript html