首页/javascript外包/js定时器setTimeout()与clearTimeout() setInterval 用法
<上一条:HTML5新增的几个INPUT属性
下一条: jquery返回顶部代码 >
js定时器setTimeout()与clearTimeout() setInterval 用法
发布-xiaoming | 浏览量-
setTimeout 是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setInterval 它从载入后,每隔指定的时间就执行一次表达式
1.基本用法:
var i=0;
setTimeout("i+=1;alert(i)",1000);
执行一个函数:
var i=0;
setTimeout(function(){i+=1;alert(i);},1000);
//注意上面的两种方法的不同
下面再来一个执行函数:
var i=0;
function test(){
i+=1;
alert(i);
}
setTimeout("test()",1000);
也可以这样:
setTimeout(test,1000);
总结:
setTimeout的原型是这样的:
iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
setTimeout有两种形式
setTimeout(code,interval)
setTimeout(func,interval,args)
其中code是一个字符串
func是一个函数.
注意"函数"的意义,是一个表达式,而不是一个语句.
比如你想周期性执行一个函数
function a(){
//...
}
可写为
setTimeout("a()",1000)
或
setTimeout(a,1000)
这里注意第二种形式中,是a,不要写成a(),
展开来说,不管你这里写的是什么,如果是一个变量,一定是一个指向某函数的变量;如果是个函数,那它的返回值就 要是个函数
2.用setTimeout实现setInterval的功能
思路很简单,就是在一个函数中调用不停执行自己,有点像递归
var i=0;
function xilou(){
i+=1;
if(i>10){alert(i);return;}
setTimeout("xilou()",1000);
//用这个也可以
//setTimeout(xilou,1000);
}
3.setTimeout()与clearTimeout()
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式.
clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout.
<input type = text id = aaa >
<input type = button value = stop id = bb onclick = bb()>
<script>
<!--
var iTime
function aa()
{
aaa.value += "!";
iTime=setTimeout("aa()",600);
}
function bb()
{
if (iTime !="")
clearTimeout(iTime);
}
aa()
-->
</script>
4. 应用jQuery的扩展可以解决这个问题。
$(document).ready(function(){
$.extend({
show:function(){
alert("ready");
}
});
setInterval("show()",3000);
});
5. 指定定时执行的函数时不要使用引号和括号。
$(function(){
function show(){
alert("ready");
}
setInterval(show,3000);// 注意函数名没有引号和括弧!
// 使用setInterval("show()",3000);会报“缺少对象”
});
原文地址:http://www.35ui.cn/post/20140729316.html 标签:setTimeout定时器
上一条: HTML5新增的几个INPUT属性
下一条: jquery返回顶部代码
或许你还对下面的文章感兴趣