我现在做的事在线考试系统。然后显示当前时间。通过结束时间减去当前时间就是剩余时间。可是怎样将剩余时间不停的改变呢。

解决方案 »

  1.   

    这应用 js 实现
    php 只是在开始的时候提供一个服务器时间,作为标准时间
    js 计算出本地时间与标准时间的差异,用于校正本地时间
    然后利用定时器完成计时和显示
      

  2.   

    js 有个 settimeout可以对时间进行实时更新但是这里是客户端时间需要你在服务端进行时间校验的
      

  3.   

    考试系统就不该用web进行……
      

  4.   

    js代码<script type="text/javascript">
    var countdown_run = 0;
    var countdown_time = <?php echo mktime(0, 0, 0, 12, 21, 2012)-time(); ?>; //mktime指定结束时间,格式(时,分,秒,月,日,年)
    function fun_countdown(){
    var nMS = countdown_time - countdown_run;
    if (nMS < 0) {
    clearInterval(countdown);
    document.getElementById("div1").innerHTML="倒计时结束!";
    return false;
    }
    var nD = parseInt(nMS / (60 * 60 * 24));
    var nH = parseInt(nMS / (60 * 60)) % 24;
    var nM = parseInt(nMS / 60) % 60;
    var nS = nMS % 60;
    var time_str;
    nD < 1 ? nH < 1 ? nM < 1 ? time_str = nS + '秒' : time_str = nM + '分' + nS + '秒' : time_str = nH + '时' + nM + '分' + nS + '秒' : time_str = nD + '天' + nH + '时' + nM + '分' + nS + '秒';
    document.getElementById("div2").innerHTML=time_str;
    countdown_run++;
    }
    var countdown = setInterval("fun_countdown()", 1000);
    </script>html代码<body onload="fun_countdown()">
    <div id="div1">剩余时间:<span id="div2"></span></div>
      

  5.   

    如果LZ要实现的话 可以给出一个实现方案
    1.js-> setTimeOut() 不断去向服务器请求服务器的时间,返回0代表时间到 (一定要用ajax局刷!不然这程序太恶心了!)
    2.个人想法:用在局域网还行吧,其实其他网站也有不断向服务器请求时间的,比如抢小米的时候(T T) 只要用上ajax还是可以的
    相关技术 js(setTimeout()函数)  ajax局部技术 PHP  LZ去找找吧