Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2015, 16:29
Новичок на форуме
Отправить личное сообщение для diversia Посмотреть профиль Найти все сообщения от diversia
 
Регистрация: 24.12.2015
Сообщений: 1

Несколько таймеров на одной странице
Здравствуйте.

Есть код таймера CountDowndmn:
var montharray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
//var charset = document.charset || document.characterSet;

var eventstr = "";
var upstr = "осталось ";

function CountDowndmn(h, a, s, d, m, b, id) {
    countdownid = document.getElementById(id);
    cdyear = b;
    cdmonth = m;
    cdday = d;
    cdhour = h;
    cdminute = a;
    cdsecond = s;
    var c = new Date();
    var e = c.getYear();
    if (e < 1000) e += 1900;
    var f = c.getMonth();
    var g = c.getDate();
    var i = c.getHours();
    var j = c.getMinutes();
    var k = c.getSeconds();
    var l = montharray[f] + " " + g + ", " + e + " " + i + ":" + j + ":" + k;
    futurestring = montharray[m - 1] + " " + d + ", " + b + " " + h + ":" + a + ":" + s;
    dd = Date.parse(futurestring) - Date.parse(l);
    dday = Math.floor(dd / (60 * 60 * 1000 * 24) * 1);
    dhour = Math.floor((dd % (60 * 60 * 1000 * 24)) / (60 * 60 * 1000) * 1);
    dmin = Math.floor(((dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) / (60 * 1000) * 1);
    dsec = Math.floor((((dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) % (60 * 1000)) / 1000 * 1);
    if (dday <= 0 && dhour <= 0 && dmin <= 0 && dsec <= 1) {
        countdownid.innerHTML = eventstr;
        return
    } else {
        var n = "" + dsec;
        var o = n.substring(n.length - 2, n.length - 1);
        n = n.substring(n.length - 1, n.length);
        var p = "секунд";
        if (n == "1" && !(o == "1")) {
            p = "секунда"
        }
        if (((n == "2") || (n == "3") || (n == "4")) && !(o == "1")) {
            p = "секунды"
        }
        n = "" + dmin;
        o = n.substring(n.length - 2, n.length - 1);
        n = n.substring(n.length - 1, n.length);
        var q = "минут";
        if (n == "1" && !(o == "1")) {
            q = "минута"
        }
        if (((n == "2") || (n == "3") || (n == "4")) && !(o == "1")) {
            q = "минуты"
        }
        n = "" + dhour;
        o = n.substring(n.length - 2, n.length - 1);
        n = n.substring(n.length - 1, n.length);
        var r = "часов";
        if (n == "1" && !(o == "1")) {
            r = "час"
        }
        if (((n == "2") || (n == "3") || (n == "4")) && !(o == "1")) {
            r = "часа"
        }
        n = "" + dday;
        o = n.substring(n.length - 2, n.length - 1);
        n = n.substring(n.length - 1, n.length);
        var t = "дней";
        if (n == "1" && !(o == "1")) {
            t = "день"
        }
        if (((n == "2") || (n == "3") || (n == "4")) && !(o == "1")) {
            t = "дня"
        }
        var u = "";

        countdownid.innerHTML = "";
        countdownid.innerHTML += upstr + " ";
        if (dday > 0) countdownid.innerHTML += dday + " " + t + " ";
        if (dhour > 0) countdownid.innerHTML += dhour + " " + r + " ";
        if (dmin > 0) countdownid.innerHTML += dmin + " " + q + " ";
        if (dsec > 0) countdownid.innerHTML += dsec + " " + p + " ";
        if (u > 0) countdownid.innerHTML += u;

    }
	setTimeout(function(){CountDowndmn(cdhour,cdminute,cdsecond,cdday,cdmonth,cdyear,id)}, 1000);
}

Вызов:
<script src="countdownOrder2.js"></script>

<div align="center" id="countdown1"></div>
<div align="center" id="countdown2"></div>

<script type="text/javascript">
CountDowndmn(17,00,00,24,12,2015,"countdown1");
CountDowndmn(17,00,00,26,12,2015,"countdown2");
</script>


На странице появляется:
осталось 32 минуты 54 секунды
осталось 2 дня 32 минуты 54 секунды
Через секунду:
осталось 2 дня 32 минуты 53 секунд
осталось 2 дня 32 минуты 53 секунд

Не могу разобраться как исправить. Помогите пожалуйста!

Последний раз редактировалось diversia, 24.12.2015 в 16:34.
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2015, 17:16
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,670

Сообщение от diversia Посмотреть сообщение
осталось 2 дня 32 минуты 53 секунд
А часы где?)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько скриптов на одной странице yoo Общие вопросы Javascript 14 17.07.2015 22:08
Несколько модальных окон на одной странице pleymo jQuery 2 04.06.2014 09:24
100-200 уникальных таймеров на одной странице. Aeliot Элементы интерфейса 36 30.06.2013 18:59
Несколько таймеров на одной странице. Pothead Общие вопросы Javascript 1 27.05.2013 08:24
Несколько версий JQuery UI на одной странице. Casufi jQuery 2 10.11.2012 15:24