在js中,延迟执行函数有两种:setTimeout和setInterval
setTimeout("test()","2000");
setInterval("test()","2000");
var interval = window.setInterval("test()","2000");
window.clearInterval(interval);
当我们想让test()函数每隔2000毫秒执行一次,执行10000毫秒后停止执行时,可以用两者三者结合使用来实现。
var interval2 = window.setInterval("openit2()",2000);
setTimeout(function() {window.clearInterval(interval2);},10000);
带参方法执行延迟
setTimeout(function(){return executeQueryTask(data);},"10000");
例子:
<html>
<head>
<title>My JSP 'index.jsp' starting pagetitle>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script>
var num = 3;
window.onload = function(){
var s = window.setInterval(function(){
document.getElementById("s").innerHTML=num;
num--;
if(num<=0){
window.close();
}
}, 1000);
}
script>
head>
<body>
<h1><s:property value="msg"/>h1>
<h2>本窗口在<span id="s">3span>秒之后关闭!h2>
<input type=button value=关闭窗口 onclick="window.close();" />
body>
html>
angularJs 的延迟是 $timeout方法
var timer = $timeout(
function() {
console.log( "Timeout executed", Date.now() );
},
2000
);