Только оно немного не по-русски будет писать иногда
Например: "1 часов 2 минут 52 секунд".
Можно и так сделать:
HTML код:
document.getElementById("showTime").innerHTML = "До армагеддона осталось времени: " + hour + ":" + min + ":" + sec + ":";
Тогда будет выводиться: "До армагеддона осталось времени: 5:17:56".
Проверил. Работает.
А что, до матча Россия-Испания засечь хочешь?)) Такая срочность...
Ну так и дни добавим
HTML код:
<html>
<head>
<title>Демонстрация</title>
<script>
// эти три переменные можно генерировать php-скриптом на основе каких-то данных
// или же прописать ручками, но тогда они при каждом запросе будут одни и те же
var days = 8;
var hour = 5;
var min = 17;
var sec = 56;
var timer; // ссылка на таймер, который потом можно будет остановить
// это необязательно, просто мне нравится начинать все свои скрипты с main() :)
// вызов её прописывается в <body onload="main()">
function main() {
timer = window.setInterval("showTime()", 1000); // каждые 1000 мс вызываем функцию showTime()
}
function showTime() {
sec--; // каждый вызов функции приводит к уменьшению на 1 секунду
if (sec < 0) // если секунды ушли в минус,
{
sec = 59; // возвращаем их в 59
min--; // и уменьшаем минуту
if (min < 0) // если минуты ушли в минус
{
min = 59; // возвращаем их в 59
hour--; // и уменьшаем час на единицу
if (hour < 0) // а уж если и час в минус ушёл
{
hour = 23;
days--;
if (days < 0)
{
window.clearInterval(timer); // значит хватит считать, снимаем таймер, чтоб функция больше не вызывалась
document.getElementById("showTime").innerHTML = "<span style='color:red'>Армагеддон наступил!</span>"; // и выводим красными буквами приветствие:)
}
}
}
}
// окончание вычисления такое:
document.getElementById("showTime").innerHTML = "До армагеддона осталось времени: " + days + " дней " + hour + " часов " + min + " минут " + sec + " секунд";
}
</script>
<body onload="main()">
<div id="showTime">Сюда будет вписываться текст</div>
</body>
</html>
Если надо, чтобы ещё и наименования к цифрам по-русски склонялись, то код немного усложниться. Но если такой необходимости нет, то я зря не буду уж
Так, вопрос обновился в шапке. Сейчас поменяем ещё раз