1、js延时函数setTimeOut(回调函数,延时时间)
应用:希望页面等待一段时间之后去做某一件事情(只做一次)。
定义延时函数:
<script type="text/javascript">
var i=0;
//调用延时执行,等待5秒之后去执行回调函数
window.setTimeout("setOutalert()",5000);
function setOutalert(){
alert("延时执行");
}
//######################
//回调函数还可以这样定义
window.setTimeout(function(){
alert("内部定义回调函数");
},5000);
</script>
怎么取消延时执行呢?(万一能够用到呢?)
取消延时:在延时函数还没有被调用之前可以取消执行(不然还取消干啥?)
<script type="text/javascript">
var i=0;
//调用延时执行,等待5秒之后去执行回调函数
var stopSetTimeOutVal=window.setTimeout("setOutalert()",5000);
//定义一个三秒的延时去取消五秒的延时
window.setTimeout("setOutalertForThree()",3000);
function setOutalertForThree(){
window.clearTimeout(stopSetTimeOutVal);
}
function setOutalert(){
alert("延时执行");
}
//######################
//回调函数还可以这样定义
window.setTimeout(function(){
alert("内部定义回调函数");
},5000);
</script>
2、js定时setInterval(回调函数,定时执行时间)函数
应用:页面需要每隔一段时间去做一件事情(不停止就老做)
定义:
<script type="text/javascript">
var i=0;
var stopInterval=window.setInterval("setAddOne()",1000);
function setAddOne(){
console.log("定时回调函数:"+i++)
}
//#######################
//同延时执行的定义一样,它还可以这样定义
setInterval(function(){
//定时回调函数,定时的回调函数也可以定义在外面
console.log("定时:"+i++)
},1000);
</script>
定时函数同样可以取消(直接离开这个页面它也不执行了),使用一个延时函数去取消定时
<script type="text/javascript">
var i=0;
//定时执行
var stopInterval=window.setInterval("setAddOne()",1000);
function setAddOne(){
console.log("定时回调函数:"+i++)
}
//延时执行去停止定时执行
window.setTimeout("setOutalert()",5000);
function setOutalert(){
//alert("延时执行");
window.clearInterval(stopInterval);
console.log("停止定时执行");
}
</script>