30.04.2015, 16:17
|
Интересующийся
|
|
Регистрация: 30.04.2015
Сообщений: 12
|
|
Таймер обратного отсчета до события
Приветствую , помогите пожалуйста составить скрипт самого обычного таймера обратного отсчета например До события осталось: 1 дней 2 часов 30 минут 50 секунд , и еще если возможно сделать чтобы таймер работал без разницы в часовых поясах . Спасибо
|
|
30.04.2015, 18:01
|
Профессор
|
|
Регистрация: 31.01.2015
Сообщений: 576
|
|
100500 готовых плагинов есть.
|
|
30.04.2015, 19:18
|
Интересующийся
|
|
Регистрация: 30.04.2015
Сообщений: 12
|
|
Сообщение от Decode
|
100500 готовых плагинов есть.
|
подскажите где пожалуйста
|
|
30.04.2015, 20:00
|
|
Профессор
|
|
Регистрация: 08.07.2013
Сообщений: 212
|
|
|
|
30.04.2015, 20:48
|
Интересующийся
|
|
Регистрация: 30.04.2015
Сообщений: 12
|
|
хаххаха авто ввод порадовал)))))))) да вводил я много раз в гугл))) мне выдает постоянно всякие красивые с оформлением и к тому же они показывают разное время в разных часовых поясах , а мне нужен ОБЫЧНЫЙ без интерфейса , ну или если есть знатоки то как подключить таймер к серверному времени чтобы у пользователей независимо в каком часовом поясе они находятся был одинаковый отсчет . вот)
|
|
30.04.2015, 20:56
|
|
Профессор
|
|
Регистрация: 08.07.2013
Сообщений: 212
|
|
Всегда можно погуглить получше, вот тут более продвинутый генератор:
http://megatimer.ru/
Работоспособность правда проверять лень)
Про "подключить таймер к серверному времени" - это насколько я понимаю просто один раз спросить у сервера сколько по его мнению осталось в миллисекундах до этой даты, вернуть эти миллисекунды на клиент, там их перевести в дни-часы-минуты-секунды и показать их. Сложности в чем?
Последний раз редактировалось Makarov, 30.04.2015 в 21:12.
|
|
30.04.2015, 21:52
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Таймер до даты в нужной таймзоне
порядковый номер будет 200
нормальный вариант для такого случая описан в посте выше.
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.number{
background-color: #c3cddc;
color: #4f5865;
font-weight: bold;
padding: 1px 2px;
}
</style>
</head>
<body>
<div id = 'show'></div>
<script type="text/javascript">
function two(a) {
return (9 < a ? "" : "0") + a
}
function formatTime(a) {
a = Math.floor(a / 1E3);
var b = Math.floor(a / 60),
c = Math.floor(b / 60),
d = c / 24 | 0,
c = c % 24;
a %= 60;
b %= 60;
return "<span class='number'>" + d + "</span> " + days(d) + " <span class='number'>" + two(c) + "</span> " + hours(c) + " <span class='number'>" + two(b) + "</span> " + minutes(b) + " <span class='number'>" + two(a) + "</span> " + seconds(a)
};
// функция для склонения слов ( (1)"день", (2)"дня", (5)"дней")
function plural(str1,str2,str5){
return function ( n ) {return ((((n%10)==1)&&((n%100)!=11))?(str1):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(str2):(str5)))}
}
var days = plural('день', 'дня', 'дней'),
hours = plural('час', 'часа', 'часов'),
minutes = plural('минута', 'минуты', 'минут'),
seconds = plural('секунда', 'секунды', 'секунд');
function Time() {
var a = new Date,
b = new Date(2015, 4, 1, 0, 0, 0),
d = "1 мая в Калининграде",
m = -120 - a.getTimezoneOffset(); // -120 нужная таймзона в минутах
b.setMinutes(m,0,0);
a = b.getTime() - a.getTime();
if(a > 0) {document.getElementById("show").innerHTML = "До " + d + " осталось: " + formatTime(a);
window.setTimeout(Time, 1E3)}
else {
document.getElementById("show").innerHTML = "!!!"
}
};
Time()
</script>
</body>
</html>
|
|
01.05.2015, 00:03
|
Интересующийся
|
|
Регистрация: 30.04.2015
Сообщений: 12
|
|
Сообщение от Makarov
|
Всегда можно погуглить получше, вот тут более продвинутый генератор:
http://megatimer.ru/
Работоспособность правда проверять лень)
Про "подключить таймер к серверному времени" - это насколько я понимаю просто один раз спросить у сервера сколько по его мнению осталось в миллисекундах до этой даты, вернуть эти миллисекунды на клиент, там их перевести в дни-часы-минуты-секунды и показать их. Сложности в чем?
|
мегатаймер отличный таймер, использовал раньше только вот он проблему в часовых поясах не решает)))
сложности в написании кода)))
Последний раз редактировалось boypush, 01.05.2015 в 00:06.
|
|
01.05.2015, 00:08
|
Интересующийся
|
|
Регистрация: 30.04.2015
Сообщений: 12
|
|
Сообщение от рони
|
порядковый номер будет 200
нормальный вариант для такого случая описан в посте выше.
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.number{
background-color: #c3cddc;
color: #4f5865;
font-weight: bold;
padding: 1px 2px;
}
</style>
</head>
<body>
<div id = 'show'></div>
<script type="text/javascript">
function two(a) {
return (9 < a ? "" : "0") + a
}
function formatTime(a) {
a = Math.floor(a / 1E3);
var b = Math.floor(a / 60),
c = Math.floor(b / 60),
d = c / 24 | 0,
c = c % 24;
a %= 60;
b %= 60;
return "<span class='number'>" + d + "</span> " + days(d) + " <span class='number'>" + two(c) + "</span> " + hours(c) + " <span class='number'>" + two(b) + "</span> " + minutes(b) + " <span class='number'>" + two(a) + "</span> " + seconds(a)
};
// функция для склонения слов ( (1)"день", (2)"дня", (5)"дней")
function plural(str1,str2,str5){
return function ( n ) {return ((((n%10)==1)&&((n%100)!=11))?(str1):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(str2):(str5)))}
}
var days = plural('день', 'дня', 'дней'),
hours = plural('час', 'часа', 'часов'),
minutes = plural('минута', 'минуты', 'минут'),
seconds = plural('секунда', 'секунды', 'секунд');
function Time() {
var a = new Date,
b = new Date(2015, 4, 1, 0, 0, 0),
d = "1 мая в Калининграде",
m = -120 - a.getTimezoneOffset(); // -120 нужная таймзона в минутах
b.setMinutes(m,0,0);
a = b.getTime() - a.getTime();
if(a > 0) {document.getElementById("show").innerHTML = "До " + d + " осталось: " + formatTime(a);
window.setTimeout(Time, 1E3)}
else {
document.getElementById("show").innerHTML = "!!!"
}
};
Time()
</script>
</body>
</html>
|
спасибо,буду пробовать))))))
|
|
01.05.2015, 01:04
|
|
Профессор
|
|
Регистрация: 08.07.2013
Сообщений: 212
|
|
Да, еще надо не забыть учесть поправку на время ожидания ответа от сервера...
В общем если от сервера получать то главный вопрос встает, что это за сервер?
1. Свой
2. Не свой но какой-то конкретный и есть протокол общения с ним
3. Апофиг, любой который вернет время
|
|
|
|