Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使弹出窗体永久关闭?_Javascript_Html_Forms_Function_Setinterval - Fatal编程技术网

Javascript 如何使弹出窗体永久关闭?

Javascript 如何使弹出窗体永久关闭?,javascript,html,forms,function,setinterval,Javascript,Html,Forms,Function,Setinterval,我正在为我的网站制作一个弹出的“订阅邮件列表”表单。我有一个按钮,应该用这个功能关闭表单: function closeForm() { document.getElementById("mailsub").style.display = "none"; } 但是,似乎由于还具有打开表单的功能: setInterval(function openForm() { document.getElementById("mailsub").style.display = "block"; },

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

function closeForm() {
  document.getElementById("mailsub").style.display = "none";
}
但是,似乎由于还具有打开表单的功能:

setInterval(function openForm() {
  document.getElementById("mailsub").style.display = "block";
}, 700);
当您关闭表单时,它将在0.7秒后再次打开

有人知道如何使窗体无限期关闭,同时保留打开窗体的函数吗


提前感谢。

您必须使用“切换”来设置“无显示”或“块显示”。有了它,如果真的使用block-else-none,就可以使用它。我也可以快速为您编写代码

shouldOpen ? 'block' : 'none'

应打开
保持值
为真
为假
,这将根据您的业务规则进行设置。

设置间隔-这将每700毫秒运行一次。所以使用setTimeout。它将在700毫秒后运行一次

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

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

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

你为什么隔一段时间打开表格?暂停一下,非常感谢!它起作用了