2011-12-21 5 views
0

카운트 다운을 작성하여 서버 (PHP)에서 시간을 얻은 다음 클라이언트 측 (자바 스크립트)에서 카운트 다운합니다. 불행히도 JavaScript 또는 JQuery에 대한 경험이 적습니다. 이 때 스크립트는 다음과 같습니다 PHP 및 JavaScript를 사용하여 카운트 다운 실현

<?php 
    $endTime = mktime(00, 00, 00, 01, 01, 2012); 
    $actTime = time(); 
    $difTime = $endTime - $actTime; 
    $seconds = $difTime; 
?> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    window.setInterval(function() { 
     var seconds = $('div#timer').html();      
     var updateTime = eval(seconds)- eval(1);      
     $('div#timer').html(updateTime); 
    }, 1000); 
}); 
</script> 

<div id="timer"><?php echo $seconds ?></div> 

가 지금은 일, 월, 분, 초에 나머지 초를 변환 할. 그러나 실제로 어떻게 실현해야하는지 모르겠다. setInterval. 누구든지 나를 도울 수 있습니까? 어쩌면 유닉스 타임 스탬프로 작업하는 것이 더 좋은 방법일까요?

미리 감사드립니다.

마틴

+0

'setInterval()'(및'setTimeout()')은 콜백이 지정한 간격으로 정확히 실행되는 것을 보장하지 않으므로 일반적으로 현재 시간을 가져 오는 것이 좋습니다 각 반복 (및 적절한 원래 서버 지정 시간에서 오프셋을 계산). 같은 이유로, 간격을 1 초보다 훨씬 더 작게 설정하면 더 부드럽게 보이는 시계를 얻을 수 있습니다 : 50-100ms라고 말하십시오. 간격이 조금 늦어지면 카운터가 크게 뛰었던 것처럼 느껴지지 않습니다. – nnnnnn

답변

0

초를 사용하는 것이 가장 좋은 방법입니다. 그리고 초를 세어 나머지를 계산하는 것뿐입니다. 1 초마다 실행되도록 정의 된 함수를 확장하면됩니다. mod와 div를 math.floor와 함께 사용하여 초에서 요일과 시간을 계산하고 새 문자열을 작성한 다음 div에 넣습니다.