如何使用JavaScript使第二个计时器移动?

如何使用JavaScript使第二个计时器移动?,javascript,dom,Javascript,Dom,此功能将显示日期和时间。至于时间,它将以这种格式显示“00:00:00”,但是“秒”不只是静态移动。代码如下: function isDst(d) { var dst = 60; // DST on by default. // Up until March 9 switch off DST. if ((d.getMonth() < 3) && (d.getDate() < 10)) { dst = 0; } // After No

此功能将显示日期和时间。至于时间,它将以这种格式显示“00:00:00”,但是“秒”不只是静态移动。代码如下:

function isDst(d) {
    var dst = 60; // DST on by default.

    // Up until March 9 switch off DST.
    if ((d.getMonth() < 3) && (d.getDate() < 10)) { dst = 0; }

    // After November 2 switch off DST.
    if ((d.getMonth() > 9) && (d.getDate() > 2)) { dst = 0; }

    return dst;
}

function init() {
    var panel = document.getElementById("panel");
    var now = new Date()  
    var offset = now.getTimezoneOffset();
    var dst = isDst(now);
    switch (offset) {
        case (300 - dst): offset = "East Coast"; break;
        case (360 - dst): offset = "Central"; break;
        case (420 - dst): offset = "Mountain"; break;
        case (480 - dst): offset = "Pacific"; break;
        default: offset = "all";
    }
    panel.innerHTML = "Date and Time: " + now.toString() + "<hr>Welcome to " + offset + " visitors";
}
document.addEventListener("DOMContentLoaded", init, false);
功能isDst(d){
var dst=60;//默认情况下dst处于打开状态。
//直到3月9日关闭DST。
如果((d.getMonth()<3)和&(d.getDate()<10)){dst=0;}
//11月2日之后,关闭DST。
如果((d.getMonth()>9)和&(d.getDate()>2)){dst=0;}
返回dst;
}
函数init(){
var panel=document.getElementById(“panel”);
var now=新日期()
var offset=now.getTimezoneOffset();
var dst=isDst(现在);
开关(偏置){
案例(300-dst):偏移量=“东海岸”中断;
案例(360-dst):偏移量=“中心”中断;
案例(420-dst):偏移量=“山地”中断;
案例(480-dst):偏移量=“太平洋”中断;
默认值:offset=“全部”;
}
panel.innerHTML=“日期和时间:“+now.toString()+”
欢迎访问“+offset+”访客”; } document.addEventListener(“DOMContentLoaded”,init,false);
如果我理解正确,您希望站点上的文本每秒更新一次

您的脚本无法工作,因为您正在将#面板的innerHTML设置为使用当前时间创建的字符串。HTML中没有任何内容可以告诉浏览器更新字符串。您必须在JavaScript中添加自己的代码

最简单的方法是使用window.setInterval();功能。制作一个函数,更新文本以获得当前时间,然后调用window.setInterval(myFunc,1000)。注意myFunc上缺少括号。这意味着您将传递的是函数myFunc,而不是myFunc的返回值。第二个参数是再次调用函数之前等待的毫秒数。window.setInterval每1000毫秒调用一次myFunc如果要调用一次myFunc,请使用setTimeout

综上所述,要使脚本正常工作,您需要附加以下行:

window.setInterval(init, 1000);
享受吧