多个运行时间计数器

Multiple elapsed time counters

本文关键字:计数器 运行时间      更新时间:2023-09-26

我成功地利用下面的代码来显示一个网页上的1个经过的计时器。我希望能够在同一页面上显示几个运行时间计数器,每个TEAM一个。

我能够通过复制整个代码来实现这一点,尽管这使得在需要时很难找到要编辑的日期。

是否有可能在代码的一个部分中列出每个团队的所有日期?

id='ClockTEAM2' edate1="2/11/2009 00:00:00
id='ClockTEAM2' edate2="12/06/2012 00:00:00

如有任何帮助,不胜感激

TEAM1
<td align="middle">
<font color="#00309c">
<span name="ClockTEAM1" id='ClockTEAM1' edate="2/11/2009 00:00:00">

<script language="Javascript">
function displaydatetime() {
 var today = new Date();
  var oSpan = document.all.tags("span");
  if ( typeof(oSpan) != "undefined" )
  {
      for (var i=0; i<oSpan.length; i++)
      {
          if ( oSpan[i].name == "ClockTEAM1" )
          {
              startday = new Date(oSpan[i].edate);
              secsPerDay = 1000 ;
              minPerDay = 60 * 1000 ;
              hoursPerDay = 60 * 60 * 1000;
              PerDay = 24 * 60 * 60 * 1000;
              secsLeft = (today.getTime() - startday.getTime()) / minPerDay;
              secsRound = Math.round(secsLeft);
              secsRemain = secsLeft - secsRound;
              secsRemain = (secsRemain < 0) ? secsRemain = 60 - ((secsRound - secsLeft) * 60) : secsRemain = (secsLeft - secsRound) * 60;
              secsRemain = Math.round(secsRemain);
              minLeft = ((today.getTime() - startday.getTime()) / hoursPerDay);
              minRound = Math.round(minLeft);
              minRemain = minLeft - minRound;
              minRemain = (minRemain < 0) ? minRemain = 60 - ((minRound - minLeft) * 60) : minRemain = ((minLeft - minRound) * 60);
              minRemain = Math.round(minRemain - 0.495);
              hoursLeft = ((today.getTime() - startday.getTime()) / PerDay);
              hoursRound = Math.round(hoursLeft);
              hoursRemain = hoursLeft - hoursRound;
              hoursRemain = (hoursRemain < 0) ? hoursRemain = 24 - ((hoursRound - hoursLeft) * 24)  : hoursRemain = ((hoursLeft - hoursRound) * 24);
              hoursRemain = Math.round(hoursRemain - 0.5);
              daysLeft = ((today.getTime() - startday.getTime()) / PerDay);
              daysLeft = (daysLeft - 0.5);
              daysRound = Math.round(daysLeft);
              daysRemain = daysRound;
              if (secsRemain > 59)
              {
                  secsRemain = "0";
                  if (minRemain > 59)
                  {
                       minRemain = "0";
                       if (hoursRemain > 23)
                       {
                            hoursRemain = "0";
                            if (daysRemain>364)
                            {
                                 daysRemain = "0";
                            }
                        }
                   }
              }
              secsRemain = (secsRemain < 10) ? secsRemain = "0" + secsRemain : secsRemain;
              minRemain = (minRemain < 10) ? minRemain = "0" + minRemain : minRemain;                                                          
              timeRemain = daysRemain + " Days " +     hoursRemain + ":" + minRemain + ":" +         secsRemain;                                             
              oSpan[i].innerHTML = timeRemain;
          }
       }          
       timerID=setTimeout("displaydatetime()", 1000)
       timerRunning = true;
  }
}
displaydatetime();

</script>
</span>
</font>
</td>
</tr>
</table>

不知道你到底遇到了什么问题。你试过把这两个桥接在一起吗?