Несколько таймеров на одной странице
Здравствуйте.
Есть код таймера 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 секунд Не могу разобраться как исправить. Помогите пожалуйста! |
Часовой пояс GMT +3, время: 16:23. |