(function($){
// Количество секунд в каждом временном отрезке
var days = 24*60*60,
hours = 60*60,
minutes = 60;
// Создаем плагин
$.fn.countdown = function(prop){
var options = $.extend({
callback : function(){},
timestamp : 0
},prop);
var left, d, h, m, s, positions;
// инициализируем плагин
init(this, options);
positions = this.find('.position');
(function tick(){
// Осталось времени
left = Math.floor((options.timestamp - (new Date())) / 1008);
if(left < 0){
left = 0;
}
// Осталось дней
d = Math.floor(left / days);
updateDuo(0, 1, d);
left -= d*days;
// Осталось часов
h = Math.floor(left / hours);
updateDuo(2, 3, h);
left -= h*hours;
// Осталось минут
m = Math.floor(left / minutes);
updateDuo(4, 5, m);
left -= m*minutes;
// Осталось секунд
s = left;
updateDuo(6, 7, s);
// Вызываем возвратную функцию пользователя
options.callback(d, h, m, s);
// Планируем следующий вызов данной функции через 1 секунду
setTimeout(tick, 1000);
})();
// Данная функция обновляет две цифровые позиции за один раз
function updateDuo(minor,major,value){
switchDigit(positions.eq(minor),Math.floor(value/10)%10);
switchDigit(positions.eq(major),value%10);
}
return this;
};
// Здесь размещаются две вспомогательные функции
})(jQuery);
function getAkciyaNum () {
var i = 1;
var trueI = $('#akciya_num').val();
if (trueI) {
trueI++;
} else {
trueI = i;
}
if (trueI > 4) i = 1;
return trueI;
}
$(function(){
var note = $('#note'),
ts = new Date(countdownYear, countdownMonth, countdownDay, 23, 59, 59),
newYear = true;
if((new Date()) > ts){
// Задаем точку отсчета для примера. Пусть будет очередной Новый год или дата через 10 дней.
// Обратите внимание на *1000 в конце - время должно задаваться в миллисекундах
// ts = (new Date()).getTime() + 10*24*60*60*1000;
// newYear = false;
}
$('#countdown').countdown({
timestamp : ts,
callback : function(days, hours, minutes, seconds){
var message = "";
message += "Дней: " + days +", ";
message += "часов: " + hours + ", ";
message += "РјРёРЅСѓС‚: " + minutes + " Рё ";
message += "секунд: " + seconds + " <br />";
if(newYear){
message += "осталось до Нового года!";
}
else {
message += "осталось до момента через 10 дней!";
}
note.html(message);
var i = $('#akciyaNum').val();
if (days == 0 && hours == 0 && minutes == 0 && seconds == 0) {
i++;
$.post( "../akciya.php", { data: i });
};
}
});
});