Javascript.RU

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

Таймер обратного отсчета времени. Зацикленный
Добрый день! есть скрипт, помогите зациклить, т.е. когда заканчивается, нужно заново продлить.
вот код
(function ($) {
"use strict";
$('.countdown').downCount({
date: '03/19/2015 18:40:00' // m/d/y
, daysplus: 1 //ставим null если не нужно сдвигать счетчик
});

})(jQuery);

(function (e) {
e.fn.downCount = function (t, n) {

var installedDate = e.extend({date: null, offset: null}, t);
var i = this;
if (!installedDate.date) {
e.error("Date is not defined.")
}
if (!Date.parse(installedDate.date)) {
e.error("Incorrect date format, it should look like this, 12/31/2015 12:00:00 day/month/year")
}
function o() {
var dateEnd = new Date(installedDate.date); // конец даты
var pluseDate = installedDate.daysplus * 60 * 60 * 24 * 1000 ; //время на которое нужно продлить
var currentDate = currentDateFunction(); // текущее время
var different = dateEnd - currentDate; //разница между концом и текущей датой


if (different < 0) {
var newDateEnd = (dateEnd.getTime() + pluseDate);

different = newDateEnd - currentDate;

if (different < 0) {
clearInterval(u);
if (n && typeof n === "function")n();
return
}
}

var a = 1000,
f = a * 60,
l = f * 60,
c = l * 24;

var h = Math.floor(different / c),
p = Math.floor(different % c / l),
d = Math.floor(different % l / f),
v = Math.floor(different % f / a);

h = String(h).length >= 2 ? h : "0" + h;
p = String(p).length >= 2 ? p : "0" + p;
d = String(d).length >= 2 ? d : "0" + d;
v = String(v).length >= 2 ? v : "0" + v;

var m = h === 1 ? "day" : "дней",
g = p === 1 ? "hour" : "часов",
y = d === 1 ? "minute" : "минут",
b = v === 1 ? "second" : "секунд";

i.find(".days").text(h);
i.find(".hours").text(p);
i.find(".minutes").text(d);
i.find(".seconds").text(v);
i.find(".days_ref").text(m);
i.find(".hours_ref").text(g);
i.find(".minutes_ref").text(y);
i.find(".seconds_ref").text(b)
}

function currentDateFunction () {
var date = new Date;
time = date.getTime() + date.getTimezoneOffset();
return time
}


var u = setInterval(o, 1000)
}
})(jQuery);

Спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зацикленный таймер обратного отсчета levshaszr Элементы интерфейса 7 12.10.2014 23:20
таймер обратного отсчета yintar jQuery 6 03.09.2014 11:16
Скрипт обратного отсчета времени Artem555 Общие вопросы Javascript 4 17.06.2014 15:09
Таймер обратного отчёта с выполнение по времени xakerd Элементы интерфейса 1 20.03.2013 00:10
Скрипт обратного отсчета времени Extremal1989 Общие вопросы Javascript 13 30.12.2012 11:47