Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Отсчет времени (https://javascript.ru/forum/dom-window/68923-otschet-vremeni.html)

makedonets 17.05.2017 15:19

Отсчет времени
 
Добрый день, помогите пожалуйста. Использую данный плагин для отсчета времени на сайте.
(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())) / 1000);			
			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(){
	
	var note = $('#note'),
		ts = new Date(2017, 11, 1),
		newYear = true;
	if((new Date()) > ts){
		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 += "";
			}	
			note.html(message);
		}
	});	
});

Возникла потребность зациклить счетчик. Но с разными параметрами. Что бы он обнулялся в воскресенье и в пятницу.Как исправить данный скрипт?

j0hnik 18.05.2017 08:32

Чтобы с пятницы отсчитывал до воскресенья? а с воскресенья до пятницы?


Часовой пояс GMT +3, время: 02:53.