2014-05-17 2 views
0

이 기능은 날짜와 시간을 표시합니다. 시간은 '00:00:00'형식처럼 표시되지만 '초'는 정적으로만 이동하지 않습니다. 아래 코드는 다음과 같습니다.JavaScript를 사용하여 두 번째 타이머 이동을 만드는 방법은 무엇입니까?

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); 

답변

1

올바르게 이해하면 사이트의 텍스트를 매초마다 업데이트해야합니다.

#panel의 innerHTML을 현재 시간을 사용하여 만든 문자열로 설정 했으므로 스크립트가 작동하지 않습니다. HTML에 문자열을 업데이트하도록 브라우저에 지시하는 내용은 없습니다. 자바 스크립트로 코드를 직접 추가해야합니다.

가장 쉬운 방법은 window.setInterval(); 기능. 텍스트를 현재 시간으로 업데이트 한 다음 window.setInterval (myFunc, 1000)을 호출하는 함수를 만듭니다. myFunc에 괄호가 없음을 주목하십시오. 즉, 함수 myFunc는 이 아니며 반환 값은 myFunc가 아닙니다. 두 번째 인수는 함수를 다시 호출하기 전에 대기하는 시간 (밀리 초)입니다. 일단 setTimeout을 사용하여 myFunc를 호출하려면 window.setInterval이 1000 밀리 초마다 myFunc를 호출합니다.

window.setInterval(init, 1000); 

가 즐기십시오 :

함께, 스크립트를 작동하게하는이 라인을 추가 할 필요가 모든 촬영!

관련 문제