【问题标题】:Issue with setInterval function callsetInterval 函数调用问题
【发布时间】:2013-02-20 05:31:53
【问题描述】:

我试图在我的弹出窗口中调用 setInterval 函数以每秒更新一次时间,但是当它被调用时,我的 HTML 页面根本不会更新,只显示加载时的初始时间。我看不出这段代码有什么问题。

    var currentTime = new Date();

window.self.setInterval(
    function()
    { 
        window.self.document.getElementById("Time").innerHTML = currentTime.toTimeString();
    }, 1000 );

发生这种情况的任何原因?

【问题讨论】:

    标签: javascript setinterval


    【解决方案1】:

    currentTime 被设置一次且仅一次。您需要在每个时间间隔创建一个新的 Date 对象。像这样的:

    setInterval(
      function()
      { 
        document.getElementById("Time").innerHTML = (new Date()).toTimeString();
      },
      1000
    );
    

    【讨论】:

    • 是的,这行得通。我没有意识到每次调用它时都需要一个新的 Date 对象。所以它实际上只是一遍又一遍地用相同的时间字符串调用相同的 Date 对象。所以它的工作方式不是我想要的。谢谢,简直不敢相信这么简单的事情。
    猜你喜欢
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多