我试图在5秒后显示JS警报。现在我有以下代码:
<script>
function init() {
var count=5;
var counter=setInterval(timer,1000);
function timer(){
count=count-1;
if(count==0){
alert("This is an alert")
window.location = "http://www.example.com";
return;
}
}
}
window.onload = init;
</script>
问题是它不能正常工作。有一些我在代码中看不到的小错误。
6条答案
按热度按时间xbp102n01#
为什么要使用setInterval并维护一个count变量来推断五秒的时间?
使用setTimeout可以简化代码。例如:
aij0ehis2#
您的代码工作正常。请检查此JSFIDDLE
5秒后显示JS警报
其中,当您使用
setInterval
时,这意味着timer
函数将每1秒执行一次,并且即使在发出警报后也会继续执行。不确定您是否需要
setInterval
,或者您实际上正在寻找setTimeout
cig3rfwq3#
∮尝试∮
j9per5c44#
你可以用的简单方法是
注:1秒等于1000,因此,如果希望此功能在5秒后运行,则需要设置5000。
nkcskrwz5#
你的代码运行良好。只是由于某种原因,你的
init
函数在窗口加载时没有被调用。尝试直接调用你的函数,或者使用document.body.onload
,或者在HTML文件的末尾插入script标签:pgvzfuti6#
尝试在
setTimeOut
中使用function