@MelPosp

Запуск скрипта в определенное время?

Есть скрипт
spoiler

if ( localStorage.uAge == null ) {

$('.ageWindow').fadeIn(100);

}

function addAge() {
localStorage["uAge"] = JSON.stringify('Да');
$('.ageWindow').fadeOut(500);
}


Этот скрипт показывает всплывающее окно, которое нужно что б всплывало с 00:00 до 9:00 утра каждый день.
И отключить куки в скрипте, а то сейчас это окно появляется только 1 раз
  • Вопрос задан
  • 3028 просмотров
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Если правильно понял
// Функция проверки вхождения текущего часа в отрезов от from до to (не включительно)
function isHourRange(from, to) {
   var now = new Date();
   var curHour = now.getHours();
   return curHour >= from && curHour < to;
}

if(isHourRange(0, 9)) {
   $('.ageWindow').fadeIn(100);
}
Ответ написан
Комментировать
rockon404
@rockon404
Frontend Developer
Насколько я понял addAge - это колбек модалки при закрытии, поэтому эту функцию лучше не удалять.

Вот для показа по локальному времени клиента:
var TIME_FROM = 0;
var TIME_TO = 9;

var date = new Date();
var clientLocalHour = date.getHours();

if (clientLocalHour >= TIME_FROM && clientLocalHour < TIME_TO) {
  $('.ageWindow').fadeIn(100);
}

function addAge() { 
  $('.ageWindow').fadeOut(500);
}


Вот для показа по локальному времени вашего сервиса(считается на стороне клиента, часовой пояс +3 Москва):
var SERVICE_TIMEZONE = 3;
var TIME_FROM = 0;
var TIME_TO = 9;

var date = new Date();
var clientLocalHour = date.getHours();
var timezoneOffset = date.getTimezoneOffset() / 60;
var serviceComputedHour = clientLocalHour + timezoneOffset + SERVICE_TIMEZONE;

if (serviceComputedHour >= TIME_FROM && serviceComputedHour < TIME_TO) {
  $('.ageWindow').fadeIn(100);
}

function addAge() { 
  $('.ageWindow').fadeOut(500);
}

SERVICE_TIMEZONE - часовой пояс, сейчас стоит +3 Москва, можно задать любой (целое число в диапазоне от -12 до 12)
TIME_FROM - время начала показа
TIME_TO - время окончания показа

По-хорошему, конечно, переименовать метод закрытия модалки, класс и поправить название метода в слушателе закрытия модалки, но боюсь вы не разберетесь как это сделать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект