@MelPosp

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

Есть скрипт
spoiler

if ( localStorage.uAge == null ) {

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

}

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


Этот скрипт показывает всплывающее окно, которое нужно что б всплывало с 00:00 до 9:00 утра каждый день.
И отключить куки в скрипте, а то сейчас это окно появляется только 1 раз
  • Вопрос задан
  • 2921 просмотр
Решения вопроса 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 - время окончания показа

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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект