@Dude-1

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

function modal(title, content) {
   $('#modal-window').toggleClass('visible');
   $("#modal-window > .modal-title").html(title || "");
   $("#modal-window > .modal-content").html(content || "");
}
 
$(document).on("mousedown", function(e) {
   if (
      $("#modal-window").hasClass('visible') 
      &&  e.target.className === 'modal-close'
      || !$("#modal-window")[0].contains(e.target)
   ) {
      $("#modal-window").removeClass("visible");
   }
});

Скрипт при клике на кнопку показывает модальное окно, а мне надо, чтобы оно само по себе выходило и закрывалось через 5000 миллисекунд либо если я нажму на ту же кнопку, и оно закроется раньше.
Что надо изменить?
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
function modal(title, content) {
   $('#modal-window').toggleClass('visible');
   $("#modal-window > .modal-title").html(title || "");
   $("#modal-window > .modal-content").html(content || "");
}
function hideModal() {
    $("#modal-window").removeClass("visible");
}
var hideModal = setTimeout(hideModal, 5000);
$(document).on("mousedown", function(e) {
   if (
      $("#modal-window").hasClass('visible') 
      &&  e.target.className === 'modal-close'
      || !$("#modal-window")[0].contains(e.target)
   ) {
      hideModal();
      clearTimeout(hideModal);
   }
});
// Показываем окно
modal("Hello!!!", "Helloooooo");
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы