请教各位大神,我想在一个页面显示2个倒计时,但是为什么只能读取出一个呢<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
  date_default_timezone_set('PRC');
  $starttimestr = "2015-2-5 10:20:00";
  $endtimestr = "2015-2-9 10:50:00";
  $starttime = strtotime($starttimestr);
  $endtime = strtotime($endtimestr);
  $nowtime = time();
if ($nowtime<$starttime){
die("活动2还没有开始:{$starttimestr}至{$endtimestr}");
}
if ($endtime>=$nowtime){
$lefttime = $endtime-$nowtime; //实际剩下的时间(秒)
  }else{
  $lefttime=0;
  die("已完成");
}
?>
<script language="JavaScript">
var runtimes = 0;
function GetRTime(){
var nMS = <?php echo $lefttime; ?>*1000-runtimes*1000;
if (nMS>=0){
var nD=Math.floor(nMS/(1000*60*60*24))%24;
var nH=Math.floor(nMS/(1000*60*60))%24;
var nM=Math.floor(nMS/(1000*60)) % 60;
var nS=Math.floor(nMS/1000) % 60;document.getElementById("RemainD").innerHTML=nD;
document.getElementById("RemainH").innerHTML=nH;
document.getElementById("RemainM").innerHTML=nM;
document.getElementById("RemainS").innerHTML=nS;
if(nMS==0*60*1000)
{
alert("活动已结束");
location.replace("user_mission_sh.php");
}
runtimes++;
setTimeout("GetRTime()",1000);
}
}
var Num = 0;
onload = function() {
 Refresh();
 setInterval("Refresh();",100);
 GetRTime();
}
function Refresh() {
 if (Num<10){
 document.getElementById("RemainL").innerHTML = Num;
 Num = Num + 1;
 }else{
 Num=0;
 }
}
</script>
第一个活动将在<span id="RemainD">XX</span>天<span id="RemainH">XX</span>小时<span id="RemainM">XX</span>分钟<span id="RemainS">XX</span>.<span id="RemainL">XX</span>秒内结束<br /><?php
  $starttimestr2 = "2015-2-5 10:20:00";
  $endtimestr2 = "2015-2-9 10:50:00";
  $starttime2 = strtotime($starttimestr2);
  $endtime2 = strtotime($endtimestr2);
  $nowtime2 = time();
if ($nowtime2<$starttime2){
die("活动2还没有开始:{$starttimestr2}至{$endtimestr2}");
}
if ($endtime2>=$nowtime2){
$lefttime2 = $endtime2-$nowtime2; //实际剩下的时间(秒)
  }else{
  $lefttime2=0;
  die("已完成");
}
?>
<script language="JavaScript">
var runtimes2 = 0;
function GetRTime2(){
var nMS2 = <?php echo $lefttime2; ?>*1000-runtimes2*1000;
if (nMS2>=0){
var nD2=Math.floor(nMS2/(1000*60*60*24))%24;
var nH2=Math.floor(nMS2/(1000*60*60))%24;
var nM2=Math.floor(nMS2/(1000*60)) % 60;
var nS2=Math.floor(nMS2/1000) % 60;document.getElementById("RemainD2").innerHTML=nD2;
document.getElementById("RemainH2").innerHTML=nH2;
document.getElementById("RemainM2").innerHTML=nM2;
document.getElementById("RemainS2").innerHTML=nS2;
if(nMS2==0*60*1000)
{
alert("活动已结束");
location.replace("user_mission_sh.php");
}
runtimes2++;
setTimeout("GetRTime2()",1000);
}
}
var Num2 = 0;
onload = function() {
 Refresh2();
 setInterval("Refresh2();",100);
 GetRTime2();
}
function Refresh2() {
 if (Num2<10){
 document.getElementById("RemainL2").innerHTML = Num;
 Num2 = Num2 + 1;
 }else{
 Num2=0;
 }
}
</script>
第2个活动将在<span id="RemainD2">XX</span>天<span id="RemainH2">XX</span>小时<span id="RemainM2">XX</span>分钟<span id="RemainS2">XX</span>.<span id="RemainL2">XX</span>秒内结束<br />
</body>
</html>

解决方案 »

  1.   

    onload 事件重写了。
      

  2.   

    onload = function() {
     Refresh();
     setInterval("Refresh();",100);
     GetRTime(); Refresh2();
     setInterval("Refresh2();",100);
     GetRTime2();
    }合拼成一個。
      

  3.   


    能具体点吗?我不知道怎么合并 因为在PHP里面 我会用循环来做这个JS
      

  4.   

    去掉一个 onload函数 把两个代码放在一起就可以了
      

  5.   


    因为是要用php循环 去不掉ONLOAD 我对JS实在不熟
      

  6.   

    onload = function() {
     Refresh2();
     setInterval("Refresh2();",100);
     GetRTime2();
     
      Refresh();
     setInterval("Refresh();",100);
     GetRTime();
    }代码放一起就行了,没有什么去不掉。只要一个onload就可以了
      

  7.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <body>
    <?php
      date_default_timezone_set('PRC');
      $starttimestr = "2015-2-5 10:20:00";
      $endtimestr = "2015-2-9 10:50:00";
      $starttime = strtotime($starttimestr);
      $endtime = strtotime($endtimestr);
      $nowtime = time();
    if ($nowtime<$starttime){
    die("活动2还没有开始:{$starttimestr}至{$endtimestr}");
    }
    if ($endtime>=$nowtime){
    $lefttime = $endtime-$nowtime; //实际剩下的时间(秒)
      }else{
      $lefttime=0;
      die("已完成");
    }
    ?>
    <script language="JavaScript">
    var runtimes = 0;
    function GetRTime(){
    var nMS = <?php echo $lefttime; ?>*1000-runtimes*1000;
    if (nMS>=0){
    var nD=Math.floor(nMS/(1000*60*60*24))%24;
    var nH=Math.floor(nMS/(1000*60*60))%24;
    var nM=Math.floor(nMS/(1000*60)) % 60;
    var nS=Math.floor(nMS/1000) % 60;document.getElementById("RemainD").innerHTML=nD;
    document.getElementById("RemainH").innerHTML=nH;
    document.getElementById("RemainM").innerHTML=nM;
    document.getElementById("RemainS").innerHTML=nS;
    if(nMS==0*60*1000)
    {
    alert("活动已结束");
    location.replace("user_mission_sh.php");
    }
    runtimes++;
    setTimeout("GetRTime()",1000);
    }
    }
    var Num = 0;function Refresh() {
     if (Num<10){
     document.getElementById("RemainL").innerHTML = Num;
     Num = Num + 1;
     }else{
     Num=0;
     }
    }
    </script>
    第一个活动将在<span id="RemainD">XX</span>天<span id="RemainH">XX</span>小时<span id="RemainM">XX</span>分钟<span id="RemainS">XX</span>.<span id="RemainL">XX</span>秒内结束<br /><?php
      $starttimestr2 = "2015-2-5 10:20:00";
      $endtimestr2 = "2015-2-9 10:50:00";
      $starttime2 = strtotime($starttimestr2);
      $endtime2 = strtotime($endtimestr2);
      $nowtime2 = time();
    if ($nowtime2<$starttime2){
    die("活动2还没有开始:{$starttimestr2}至{$endtimestr2}");
    }
    if ($endtime2>=$nowtime2){
    $lefttime2 = $endtime2-$nowtime2; //实际剩下的时间(秒)
      }else{
      $lefttime2=0;
      die("已完成");
    }
    ?>
    <script language="JavaScript">
    var runtimes2 = 0;
    function GetRTime2(){
    var nMS2 = <?php echo $lefttime2; ?>*1000-runtimes2*1000;
    if (nMS2>=0){
    var nD2=Math.floor(nMS2/(1000*60*60*24))%24;
    var nH2=Math.floor(nMS2/(1000*60*60))%24;
    var nM2=Math.floor(nMS2/(1000*60)) % 60;
    var nS2=Math.floor(nMS2/1000) % 60;document.getElementById("RemainD2").innerHTML=nD2;
    document.getElementById("RemainH2").innerHTML=nH2;
    document.getElementById("RemainM2").innerHTML=nM2;
    document.getElementById("RemainS2").innerHTML=nS2;
    if(nMS2==0*60*1000)
    {
    alert("活动已结束");
    location.replace("user_mission_sh.php");
    }
    runtimes2++;
    setTimeout("GetRTime2()",1000);
    }
    }
    var Num2 = 0;
    function Refresh2() {
     if (Num2<10){
     document.getElementById("RemainL2").innerHTML = Num;
     Num2 = Num2 + 1;
     }else{
     Num2=0;
     }
    }
    </script>
    第2个活动将在<span id="RemainD2">XX</span>天<span id="RemainH2">XX</span>小时<span id="RemainM2">XX</span>分钟<span id="RemainS2">XX</span>.<span id="RemainL2">XX</span>秒内结束<br /><script type="text/javascript">onload = function() {
     Refresh();
     setInterval("Refresh();",100);
     GetRTime(); Refresh2();
     setInterval("Refresh2();",100);
     GetRTime2();
    }
    </script></body>
    </html>
    這樣就可以了。