setInterval(function,interval[,arg1,arg2,......argn]):标准动作面板中setInterval函数的默认语法
setInterval(object,methodName,interval[,arg1,arg2,.....argn]):专家模式动作中使用的方法
clearInterval(id_of_setinterval):参数是必须的,为setInterval返回的ID值
其中的参数function是一个函数名或者一个对匿名函数的引用。object参数指定从Object对象派生的对象。methodName制定 object参数中要调用的方法。interval制定对function或methodName调用两次之间的时间,单位是毫秒。后面的arg1等是可选的参数,用于制定传递给function或是methodName的参数。
//每隔5秒刷新
var i = 0;
setInterval(function(){
i++;
console.log(i);
}, 5*1000);
//例子三(function中含有参数)
function show2(str){
trace(str);
}
setInterval(show2,2000,"每隔2秒我就会显示一次");
在使用setInterval方法时,每一次启动都需要对setInterval方法返回的值做一个判断,判断是否是空值,若不是空值,则要停止定时器并将值设为空,再重新启动,如果不进行判断并赋值,有可能会造成计时器循环调用,在同等的时间内同时执行调用的代码,并会随着代码的运行时间增加而增加,导致功能无法实现,甚至占用过多资源而卡死奔溃。因此在每一次使用setInterval方法时,都需要进行一次判断。
//例子二(setInterval返回一个Id值)
<body>
<button onclick="start()">按钮一</button>
<button onclick="stop()">按钮二</button>
<script type="text/javascript">
var interval = null;//计时器
var i = 0;
function start(){//启动计时器函数
if(interval!=null){//判断计时器是否为空
clearInterval(interval);
interval=null;
}
interval = setInterval(overs,1000);//启动计时器,调用overs函数,
}
function overs(){
i++;
console.log(i);
}
function stop(){
clearInterval(interval);
interval = null;
}
</script>
</body>
//例子三(function中含有参数)
function show2(str){
trace(str);
}
setInterval(show2,2000,"每隔2秒我就会显示一次");