Я успешно использую приведенный ниже код, чтобы показать 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>
ПОЖАЛУЙСТА, НЕ ПОТЕРЯЙТЕ. Используйте все-верхний регистр экономно, если вы не хотите нервничать. Спасибо за ваше сотрудничество в этом. Кроме того, как Java участвует здесь, поскольку это выглядит как чистый JavaScript и HTML? –
Вы делаете свою тройную операцию неправильно: не 'secsRemain = (secsRemain <0)? secsRemain = 60 - ((secsRound - secsLeft) * 60): secsRemain = (secsLeft - secsRound) * 60; 'но:' secsRemain = (secsRemain <0)? 60 - ((secsRound - secsLeft) * 60): (secsLeft - secsRound) * 60; ' – Shikiryu
Извините, не понял, что я заглавил слово. Является ли это правильным применением процесса? Я открыт для предложений по другим методам. – Swicked