2013-05-05 3 views
2

Я успешно использую приведенный ниже код, чтобы показать 1 прошедший таймер на веб-странице. Я бы хотел показать несколько прошедших счетчиков времени на одной странице, по одной для каждой КОМАНДЫ.Несколько счетчиков прошедшего времени

Я смог добиться этого, дублируя весь код, хотя это затрудняет поиск даты для редактирования, когда это необходимо.

Можно ли перечислить все даты для каждой Команды в одном разделе кода?

Например.

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> 
+1

ПОЖАЛУЙСТА, НЕ ПОТЕРЯЙТЕ. Используйте все-верхний регистр экономно, если вы не хотите нервничать. Спасибо за ваше сотрудничество в этом. Кроме того, как Java участвует здесь, поскольку это выглядит как чистый JavaScript и HTML? –

+0

Вы делаете свою тройную операцию неправильно: не 'secsRemain = (secsRemain <0)? secsRemain = 60 - ((secsRound - secsLeft) * 60): secsRemain = (secsLeft - secsRound) * 60; 'но:' secsRemain = (secsRemain <0)? 60 - ((secsRound - secsLeft) * 60): (secsLeft - secsRound) * 60; ' – Shikiryu

+0

Извините, не понял, что я заглавил слово. Является ли это правильным применением процесса? Я открыт для предложений по другим методам. – Swicked

ответ

0

Не уверен, что у вас возникли проблемы с точно. Вы пытались разместить два пролета сразу после друг друга?

Смежные вопросы