Как я могу заставить мою всплывающую форму закрыться навсегда? - PullRequest
0 голосов
/ 25 января 2019

Я делаю всплывающую форму «подписаться на список рассылки» для моего сайта.У меня есть кнопка, которая должна закрывать форму с помощью этой функции:

function closeForm() {
  document.getElementById("mailsub").style.display = "none";
}

, но, по-видимому, также благодаря этой функции, чтобы открыть форму:

setInterval(function openForm() {
  document.getElementById("mailsub").style.display = "block";
}, 700);

при закрытииформа, она просто открывается снова через 0,7 секунды.

Кто-нибудь знает, как сделать так, чтобы форма закрывалась на неопределенное время при сохранении функции для открытия формы?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 25 января 2019

setInterval - это будет выполняться каждые 700 миллисекунд. так что используйте setTimeout. Он будет запущен один раз через 700 миллисекунд

setTimeout(function openForm() {
  document.getElementById("mailsub").style.display = "block";
}, 700);
0 голосов
/ 25 января 2019

setInterval будет вызывать функцию, открывающую всплывающее окно, каждые 0,7 секунды.Измените его на setTimeout, и он будет срабатывать только один раз:

setTimeout(function openForm() {
  document.getElementById("mailsub").style.display = "block";
}, 700);
0 голосов
/ 25 января 2019

Вы должны использовать переключатель, чтобы установить отсутствие отображения или блокировку.И с этим вы можете использовать его, если true use block иначе нет.Я могу быстро написать код для вас.

shouldOpen ? 'block' : 'none'

shouldOpen удерживайте значение true или false, и это будет установлено на основе вашего бизнес-правила.

...