Показать сообщение отдельно
  #1 (permalink)  
Старый 27.07.2015, 12:52
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267

Автоматический отсчёт до времени окончания акции с плагином TimeTo
Здравствуйте. На сайте каждую неделю в пятницу в час ночи стартует шабаш ведьм новая акция, а старая соответственно заканчивается. Установлен таймер обратного отсчёта timeTo, дата каждую пятницу вводилась вручную. Я это дело автоматизировал, но наворотил такого, что самому страшно:
var today = new Date();
var currentDay = today.getDay();
var timeToEndAction;

switch (currentDay){
	case 0: timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate() + 5)).setHours(1)).setMinutes(0)).setSeconds(0);
		break;
	case 1: timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate() + 4)).setHours(1)).setMinutes(0)).setSeconds(0);
		break;
	case 2: timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate() + 3)).setHours(1)).setMinutes(0)).setSeconds(0);
		break;
	case 3: timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate() + 2)).setHours(1)).setMinutes(0)).setSeconds(0);
		break;
	case 4: timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate() + 1)).setHours(1)).setMinutes(0)).setSeconds(0);
		break;
	case 5: timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate() + 7)).setHours(1)).setMinutes(0)).setSeconds(0);
		break;
	case 6: timeToEndAction = new Date(new Date(new Date(new Date().setDate(today.getDate() + 6)).setHours(1)).setMinutes(0)).setSeconds(0);
		break;

}

$('#countdown').timeTo( {
	timeTo: new Date(timeToEndAction),
	displayDays: 2
	} );

Вопрос: можно ли как-то код улучшить(упростить) особенно switch?
Ответить с цитированием