也可以在下载页面的时候给各初始值,然后用javascript定时递减显示。

解决方案 »

  1.   

    是啊,同意楼上的xyzxyz,gamespot上的体育版也是这样做的.
    关键是如何取得服务器上的时间,用javascript可能是取不到的.
    现在有许多网也上的时间,只要在自己的电脑上改一下就露馅了!
    有高手能给个服务器上的时间的代码,最好是javascript的哦!
      

  2.   

    不是实时的倒计时,不用JS,
    反之则用程序先取得剩余时间,再用JS动态进行,和客户端无关。
      

  3.   

    给个开头例子给你,你再改一下应该可以了,这个是我当时面试时留下来的作品,面试官要我当场做出来的,当时真的有点难倒我了,好在还是弄出来了。
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>时间测试</title>
    </head>
    <body>
    <?php
    $server_time = time();
    function onload_js($server_time){
    echo <<<EOT
    <SCRIPT LANGUAGE=Javascript>
      var secondServer = $server_time;//到得服务器系统时间
      var dateDayWeek  = new Array("星期天","星期一","星期二","星期三","星期四","星期五","星期六");
      var dateDayMonth = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
      var secondClient = parseInt(new Date().getTime()/1000);
      var secondSub    = secondServer - secondClient;   var timerID      = null;
      var timerRunning = false;  startClock(secondServer);function stopClock(){
    if (timerRunning) clearTimeout(timerID);
    timerRunning  = false;
    }function showTime(){
      var now        = new Date();
      now.setTime(now.getTime()+secondSub*1000);
      var nowYear    = now.getYear();
      var nowMonth   = now.getMonth();
      var nowDate    = now.getDate();
      var nowDay     = now.getDay();
      var nowHours   = now.getHours();
      var nowMinutes = now.getMinutes();
      var nowSeconds = now.getSeconds();  if (nowYear<2000) nowYear     = "19"+nowYear;
      if (nowMinutes<10) nowMinutes = "0"+nowMinutes;
      if (nowSeconds<10) nowSeconds = "0"+nowSeconds;
      myClock = "<font size='4' face = 'Arial' color = 'blue'>现在时间是: " + nowYear + "-" + dateDayMonth[nowMonth] + "-" + nowDate + " "+nowHours + ":" + nowMinutes + ":" + nowSeconds+"  "+ dateDayWeek[nowDay] +"</b></font>";  if (document.layers){
        document.layers.position.document.write(myClock);
    document.layers.position.document.close();
      }
      else if (document.all)
    position.innerHTML = myClock;  timerID      = setTimeout('showTime(secondSub)',1000);
      timerRunning = true;
    }function startClock(){
      stopClock();
      showTime();
    }
    </SCRIPT>
    EOT;
    }
    ?>
    <span id="position" style="position:absolute;left:300px;top:190px; width: 600px; height: 30px"><br>
    <?
    onload_js($server_time);
    ?>
    </body>
    </html>
      

  4.   

    parseInt(new Date().getTime()/1000);
    得到的不是服务齐的时间吧?
    为什么叫$server_time??