Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP和JavaScript实现倒计时_Php_Javascript_Jquery - Fatal编程技术网

使用PHP和JavaScript实现倒计时

使用PHP和JavaScript实现倒计时,php,javascript,jquery,Php,Javascript,Jquery,我想写一个倒计时,从服务器(php)获取时间,然后在客户端(JavaScript)倒计时。不幸的是,我对JavaScript或JQuery只有很少的经验。此时,脚本如下所示: <?php $endTime = mktime(00, 00, 00, 01, 01, 2012); $actTime = time(); $difTime = $endTime - $actTime; $seconds = $difTime; ?> <script

我想写一个倒计时,从服务器(php)获取时间,然后在客户端(JavaScript)倒计时。不幸的是,我对JavaScript或JQuery只有很少的经验。此时,脚本如下所示:

<?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>

$(文档).ready(函数(){
setInterval(函数(){
var seconds=$('div#timer').html();
var updateTime=eval(秒)-eval(1);
$('div#timer').html(updateTime);
}, 1000);
});

现在我想把剩下的秒转换成天、月、分和秒。然而,我真的不知道我应该如何实现这个功能 设置间隔。有人能帮我吗?也许有更好的方法,比如使用UNIX时间戳

提前谢谢你


马丁:使用秒是最好的安静方式。只需倒计时秒数,然后计算剩余的秒数。
您只需要扩展定义为每1秒执行一次的函数。将mod和div与math.floor一起使用,从秒开始计算天和小时,用它构建新字符串并将其放入div中。

您应该使用此脚本进行倒计时这是倒计时的最佳脚本。

请注意,
setInterval()
(和
setTimeout()
)不能保证回调将在指定的时间间隔内准确执行,因此通常最好在每次迭代中获取当前时间(并根据需要计算原始服务器指定时间的偏移量)。出于同样的原因,如果你将间隔设置为明显小于1秒的时间,你通常会得到一个看起来更平滑的时钟:比如说50-100ms——这样,如果间隔稍微延迟,计数器就不会跳得那么厉害。