나는 약간의 게임이 진행되는 웹 사이트를 디자인하고 있습니다. 참여하는 각 사용자는 99 분 동안 완료해야합니다. 그렇지 않으면 우리는 게임 오버 상태를 표시합니다. 다음은 지금까지 jQuery 게시를 사용하여 수행 한 작업입니다.카운트 다운 php jquery 게시물 아약스
타이머를 표시 할 수있었습니다. PHP에서는 99*60
초까지 대상 시간을 설정했지만 시작 시간을 0으로 설정할 수는 없으므로 카운트 다운 값에 차이를 줄 수 있습니다.
또한 각 사용자가 페이지를 종료 할 수 있기 때문에 나는 떠난 시간을 저장할 수 있기를 원합니다. 내가 할 수있는 것은 로그 오프 할 때 DB에 카운트 다운 값을 저장하는 것입니다 (5845라고 가정 해 봅시다). jQuery 게시물을 호출 할 때마다 테이블을 업데이트하려고했지만 더 악화되었습니다.
if (!empty($resm['Countdown']) || $resm['Countdown'] >= 0) {
$target = (99 * 60);
$countdown = ($target - $current);
$_SESSION['currenttime'] = $countdown;
$hours = floor($countdown/3600);
$min = floor($countdown/60);
$r_min = floor(($countdown - ($hours * 3600))/60);
$sec = floor($countdown - ($min * 60));
if ($min == 0) {
echo $target.' '.$current.' '.$countdown;
echo '<br/>'.$min.' minutes '.$sec.' seconds left';
} else {
echo 'Time Over';
$sql = "UPDATE bs10000099 SET Upgradedlevel='2',Activated='2',Countdown='5940' WHERE MemberID='$memberid'";
mysql_query($sql);
}
}
내가 시작 시간을 설정하는 방법이나 새로 고침 페이지 countdown()
재시작을 방지하는 방법을 알아낼 질수 : 여기
function countdown() {
var i = (new Date().getTime()/1000) + (99 * 60);
setTimeout(function() {
$.post(\'countdown.php\',{target:i},function(data){
$('#countdown').html(data);
});
countdown();
},1000);
}
countdown();
는 PHP입니다 :
여기 내 jQuery를합니다.
위의 코드는 약간의 혼란을 겪었으므로 아무런 성공도하지 못했습니다. –
window.onbeforeunload 및 window.onunload 사용 –
자체 호출하는'setTimeout' 대신'setInterval'을 사용하십시오. – moonwave99