我读到了时间事件。我对setTimeout
感到困惑:我在W3Schools上有一个例子,它每500毫秒运行一次。我读到setTimeout
它只能运作一次。 link
<head>
<script>
function startTime() {
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
setTimeout(function(){startTime()},500);
}
</script>
</head>
<body onload="startTime()">
<div id="txt"></div>
</body>
答案 0 :(得分:4)
该功能在内部重置定时器:
setTimeout(function(){startTime()},500);
每次运行时,它做的最后一件事就是安排另一次迭代。
答案 1 :(得分:0)
setTimeout函数只能工作一次。查看您的代码。 在startTime函数内,您将在500 ms内再次调用相同的函数。 如果你想让它只工作一次,不要递归调用它。 或者,如果您希望它重复一段时间,请改用setInterval。 此函数返回一个id,您可以随时停止它。