Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Всплывающее модальное окно в определенные час. (https://javascript.ru/forum/misc/55886-vsplyvayushhee-modalnoe-okno-v-opredelennye-chas.html)

рони 10.01.2018 13:37

vladchv,
$(function() {
  var now = new Date,
      start = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 19),
      end = new Date(now.getFullYear(), now.getMonth(), now.getDate()+1, 9);
  if (now >= start && now <= end) {
    if (localStorage.getItem("check") == null) {
      showModal();
    }
  }
  function showModal() {
    localStorage.setItem("check", true);
    $("#overlay").fadeIn(400, function() {
      $("#modal_form").css("display", "block").animate({opacity:1, top:"50%"}, 200);
    });
  }
  $("#modal_close, #overlay").click(function() {
    $("#modal_form").animate({opacity:0, top:"45%"}, 200, function() {
      $(this).css("display", "none");
      $("#overlay").fadeOut(400);
    });
  });
});

Dilettante_Pro 10.01.2018 16:01

Вариант контроля времени:
var now = (new Date).getHours(),
      start =  17,
      end =  9;
  if (now > end && now < start) {
     alert("Попап  не нужен");
  } else { alert("Попап");}

рони 10.01.2018 16:08

Dilettante_Pro,
:blink:

Dilettante_Pro 10.01.2018 16:20

рони,
Что не нравится?

А по вашему варианту - допустим, я зашел сегодня в 8 утра. И что будет? Должно ли выскочить модальное окно?

рони 10.01.2018 16:38

Dilettante_Pro,
спасибо за идею ... немного не разобрался вначале
$(function() {
  var now = (new Date).getHours(),
      start = 19,
      end = 9;
  if (!(now > end && now < start)) {
    if (localStorage.getItem("check") == null) {
      showModal();
    }
  }
  function showModal() {
    localStorage.setItem("check", true);
    $("#overlay").fadeIn(400, function() {
      $("#modal_form").css("display", "block").animate({opacity:1, top:"50%"}, 200);
    });
  }
  $("#modal_close, #overlay").click(function() {
    $("#modal_form").animate({opacity:0, top:"45%"}, 200, function() {
      $(this).css("display", "none");
      $("#overlay").fadeOut(400);
    });
  });
});

vladchv 10.01.2018 17:00

Спасибо огромное)


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