2013-10-22 2 views
-1

주어진 날짜부터 매초마다 자동으로 숫자를 자동 증가시키는 방법을 찾고 있는데, 페이지에 올라와있을 때 라이브로 업데이트해야합니다. 예를 들어, 오늘 12.00.00에 카운터가 0부터 시작하여 매 초마다 업데이트되어야한다고 결정합니다 (12.00.01에서 1, 12.00.02에서 2 등). 라이브로 변경되는 번호를보고 싶습니다. 페이지에. 두 방문자가 같은 초에 페이지를로드하면 동일한 번호가 표시되고 번호의 증가는 동기화됩니다. 내가 어떻게 해? 나는 자바 스크립트 꽤 새로운 해요, 나는 내 목표와 유사하다이 바이올린 http://jsfiddle.net/dm6LL/5/javascript : number counter 라이브 업데이트

var amount = document.getElementById('amount'); 
var start = new Date("August 15, 2012 00:00:00").getTime(); 
var current; 
update(); 

function update() { 
var current = (new Date().getTime() - start)/1000*0.158+138276343; 
amount.innerText = formatMoney(current); 
} 

setInterval(update,1000); 

function formatMoney(amount) { 
    var dollars = Math.floor(amount).toString().split(''); 
    var cents = (Math.round((amount%1)*100)/100).toString().split('.')[1]; 
if(typeof cents == 'undefined'){ 
    cents = '00'; 
}else if(cents.length == 1){ 
    cents = cents + '0'; 
} 
var str = ''; 
for(i=dollars.length-1; i>=0; i--){ 
    str += dollars.splice(0,1); 
    if(i%3 == 0 && i != 0) str += ','; 
} 
return '$' + str + '.' + cents; 
} 

을 찾았지만, 그것은 돈으로 실행하고 내가 필요 정확히하지 않습니다.

+0

지금까지 시도한 것은 무엇입니까? –

답변

0

아주 가까이 있습니다. 업데이트 기능을 약간만 변경하면됩니다. 그리고 formatMoney 기능을 건너 뛸 수 있습니다. 이 같은

시도 뭔가 :

function update() { 
    var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds 
    var current = (new Date().getTime() - start); 
    var diffDate = new Date(current); 
    var days = Math.round(current/oneDay); 
    amount.innerText = days + ":" + diffDate.getUTCHours() + ":" + diffDate.getUTCMinutes() + ":" + diffDate.getUTCSeconds(); 
} 

기본적으로, 시작과 현재의 차이를 가져오고두고 대신 돈 값의 amount에 그.

그리고 두 날짜 간의 날짜를 계산하는 oneDay이 있습니다.

원하는대로 출력을 포맷 할 수 있지만 시작해야합니다.