欢迎任何观看这篇文章的人!
我的问题如下所述。
我有一个消息弹出窗口,在我想要显示消息的php事件下弹出。我遇到的唯一问题是在3秒后关闭此消息弹出窗口。
任何帮助都会很棒!提前谢谢!
我也在StackOverflow搜索谷歌和论坛,我最接近我的问题就在这里:Closing popup window after 3 seconds但是即使摆弄这些代码我也无法按照我想要的方式工作他们来。
我的代码:
<script type="text/javascript">
// jQuery
$(document).ready(function() {
var popup = document.getElementById("msgpop");
popup.classList.toggle("show");
});
</script>
这似乎不起作用。
setTimeout(window.close(), function(), 3000);
答案 0 :(得分:0)
如果切换类"show"
是显示弹出窗口的方法,那么可能会将同一个类切换为隐藏它的方式。
$(document).ready(function() {
var popup = document.getElementById("msgpop");
popup.classList.toggle("show");
setTimeout(function() {
popup.classList.toggle("show");
}, 3000);
});
关于您的代码,请:
setTimeout(window.close(), function(), 3000);
......由于一些原因不起作用。首先,function()
是语法错误。其次,你不想关闭window
,你只想隐藏/关闭弹出元素,所以你不想要window.close()
。第三,即使您确实想要window.close()
,您的代码也会立即调用该函数 并将其返回值传递给setTimeout()
。您需要将函数传递给setTimeout()
,如下所示:
setTimeout(functionName, 3000) // note no parentheses after functionName
...或者在超时后运行一行代码,你可以将它包装在一个匿名函数中,如上所示。
答案 1 :(得分:0)
这是我需要添加的CSS。
.msgpop .hide {
visibility: invisible;
-webkit-animation: fadeOut 1s;
animation: fadeOut 1s
}
答案 2 :(得分:0)
setTimeout
只有2个参数:D
我确定你真的想:
setTimeout(function() { window.close(); }, 3000);