遇到setInterval问题

时间:2015-07-24 18:51:57

标签: javascript setinterval

我在javascript中遇到setInterval()函数的问题,它会打印到我的页面一次,它不会继续这样做。我想知道这可能是浏览器问题还是我做错了。

function printTime() {
    var now = new Date();
    var hours = now.getHours();
    var minutes = now.getMinutes();
    var seconds = now.getSeconds();
    document.write(hours + ":" + minutes + ":" + seconds + "<br/>");
}

setInterval("printTime()", 1000);

1 个答案:

答案 0 :(得分:3)

除了使用"functionName()"而不仅仅是functionName的不良做法之外,如果间隔超出页面加载,代码将永远不会工作。

document.write将在加载

后擦除页面

这是一个更好的解决方案:

<div id="time"></div>
<script>
function pad(str) { return ("0"+str).slice(-2)}
function printTime() {
  var now = new Date();
  var hours = now.getHours();
  var minutes = now.getMinutes();
  var seconds = now.getSeconds();
  document.getElementById("time").innerHTML+=pad(hours) + ":" + pad(minutes) + ":" + pad(seconds) + "<br/>";
}

setInterval(printTime, 1000);
</script>