如何使我的弹出窗口永久关闭?

时间:2019-01-25 08:11:12

标签: javascript html forms function setinterval

我正在为我的网站弹出一个“订阅邮件列表”表格。我有一个应该使用此功能关闭表单的按钮:

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

但是,似乎是由于还具有打开表单的功能:

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

当您关闭表单时,它仅在0.7秒后再次打开。

有人知道如何制作它,以便在保留打开表单功能的同时无限期关闭表单吗?

谢谢。

3 个答案:

答案 0 :(得分:2)

setInterval-这将每700毫秒运行一次。因此请使用setTimeout。它会在700毫秒后运行一次

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

答案 1 :(得分:1)

setInterval将导致每隔0.7秒调用一次打开弹出窗口的功能。将其更改为setTimeout,它将仅触发一次:

testtype = PAGE
testtype.typeNum = 13
testtype.10 = TEXT
testtype.10.value = test
testtype.config.disableAllHeaderCode = 1

答案 2 :(得分:0)

您必须使用切换按钮来设置不显示或不显示。这样,如果使用true,则可以使用它,否则不使用。我也可以为您快速编写代码。

shouldOpen ? 'block' : 'none'

shouldOpen保持值为truefalse,并将根据您的业务规则进行设置。