没有 <script src></script>
标签,因为我使用的是在线编辑器。如果你们知道如何使 VScode 像在线编辑器一样,请提出建议。
*
const btn = document.getElementById('Button');
const target = document.getElementById('here');
btn.addEventListener('click', ()=>{
function olo(){
let loadingImage = document.createTextNode('**');
target.appendChild(loadingImage);
}
const MY_INT = setInterval(olo ,1000)
})
<!DOCTYPE html>
<html>
<head>
<title>Loading...</title>
</head>
<body>
<div>
<button id='Button'>load</button>
<h1 id='here'></h1>
</div>
</body>
</html>
答案 0 :(得分:0)
10000
参数应该在 setTimeout
的参数中,但您在 clearInterval
中有它。
你不应该把它放在olo
函数中,它应该在你设置了间隔之后。
setTimout
需要回调,您已为其提供函数调用,将 clearInterval(MY_INT)
更改为匿名函数(或任何函数,但不是函数调用)。例如() => clearInterval(MY_INT)
使用上述修复完全清理您的代码(我稍微调整了时间以使其更易于使用):
btn.addEventListener("click", () => {
function olo() {
let loadingImage = document.createTextNode("*");
target.appendChild(loadingImage);
}
const MY_INT = setInterval(olo, 500);
setTimeout(() => clearInterval(MY_INT), 3000);
});