2012-12-18 2 views
1

순간 js로 시간 업데이트를 동적으로 보는 데 문제가 있습니다. 그것은 정확한 시간을 보여 주지만 시간 업데이트를 얻으려면 브라우저를 새로 고쳐야합니다. 실시간으로 업데이트하고 싶습니다. momentjs.com 메인 페이지처럼.Coffeescript : 순간 js와 시간을 coffeescript로 동적 업데이트

나는 setInterval과 setTimeout을 사용해 보았습니다. 그러나 어떤 이유로 든 업데이트하지도 않는 아래 숫자를 얻습니다.

여기까지 코드 위주로 설명했습니다. 아주 간단한 순간까지 간다. 내가 원하는 모든 것은 몇 초를 지키는 데있다 ...

update = -> 
    time = moment().format('hh:mm:ss a') 

clock = setInterval update, 1000 
console.log(clock) //output: 53296 

어떤 아이디어라도 대단히 감사하겠습니다.

답변

2

업데이트 방법의 출력을 넣어야하며 예상대로 작동합니다. setInterval 메서드는 반복적으로 호출되는 메서드의 결과를 반환하지 않지만 clearInterval과 함께 사용하여 실행을 중지 할 수있는 식별자를 반환합니다. 그냥 작은 작업 예를

모든 초 시간을 인쇄하고 10 초 후에 정지 : 당신은 내부에 다음 코드를 사용할 수있는 몇 가지 DOM-요소 당신의 내용으로 그 시간을 사용하려면

update = -> 
    console.log(moment().format('hh:mm:ss a')) 
x = setInterval update, 1000; 
setTimeout (-> clearInterval(x)), 10000 

당신의 업데이트 기능 (ID "시간"을 (예를 들어, DIV)는 요소를 가지고 가정) :

JQuery와 :

$("#time").text(moment().format('hh:mm:ss a')) 

일반 JS는 :

document.getElementById("time").firstChild.data = moment().format('hh:mm:ss a') 
+0

대단히 감사하지만 예상 된 결과를 얻을 수 없습니다. 나는이 사이트에있는 것처럼 업데이트 할 시간이 필요하다. http://momentjs.com/ – Aetherynne

+0

나는 당신이 추천 한 것을했으나 이번에는 콘솔에 업데이트 된 시간의 새로운 라인을 생성하고 나는 심지어 그것을 인쇄 할 수 없다. DOM. :/ – Aetherynne

+0

이것은 응용 프로그램에 따라 다릅니다. 내 답변에 ann 예제를 추가하겠습니다. – s0x

관련 문제