奇怪的问题在这里,我不明白为什么它不起作用。但基本上按下按钮时警报就会响起,根本没有5秒延迟!
<html>
<head>
<title>Testing Page</title>
</head>
<script type="text/javascript">
function testing() {
var delay = 5000;
setTimeout(alert("5 seconds later..."),delay);
}
</script>
<body>
<input type="button" value="Run Function" onClick="testing()">
</body>
</html>
答案 0 :(得分:7)
function testing() {
var delay = 5000;
setTimeout(function(){alert("5 seconds later...");},delay);
}
需要将其包装在一个函数中,以便不立即执行警报。
Check out the MDN reference了解有关如何使用setTimeout
答案 1 :(得分:4)
setTimeout函数的用法如下:
setTimeout(<function>, <delay>);
第一个参数是一个函数。你正在做的是为它提供alert(..);
的价值将其更改为:
setTimeout(function(){ alert("5 seconds later..."); }, delay);