<!DOCTYPE html>
<html>
<head>
<title>setTime.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="jquery-1.7.1.js"></script>
</head>
<script type="text/javascript">
//写法一 在调用N次后停止调用
var index=0;
//f 调用方法 time延迟时间 end调用N次结束
function invoke(f,time,end){
if(!time) time=0;//默认0毫秒
if(!end) end=1;//默认1次
if(end==1){
setTimeout(f,time);
}else{
var hh=setInterval(function(){
show();
if(index==end) clearInterval(hh);
},time);
}
}
function show(){
index++;
$("#span").html("执行次数:"+index);
}
//写法二 根据传参个数决定调用方法
//f 调用方法 time延迟时间 end结束时间
var index2=0;
function invoke2(f,time,end){
if(!time) time=0; //默认初始值为0毫秒
if(arguments.length<=2){//单次调用模式 arguments.length 即参数个数
setTimeout(f,time);
}else{
var h=setInterval(f,time);//循环f();
//在end毫秒后停止调用
setTimeout(function(){clearInterval(h);},end+1);
}
}
function show2(){
index2++;
$("#span2").html("执行次数:"+index2);
}
</script>
<body>
<a href=javascript:void(0); οnclick="invoke('show()',1000,0);">1.setTimeout定时器</a>
<a href=javascript:void(0); οnclick="invoke('show()',1000,5);">1.setInterval定时器</a>
<br>
<h1 id=span></h1>
<br>
<a href=javascript:void(0); οnclick="invoke2('show2()',1000);">2.setTimeout定时器</a>
<a href=javascript:void(0); οnclick="invoke2('show2()',1000,2000);">2.setInterval定时器</a>
<br>
<h1 id=span2></h1>
</body>
<html>
<head>
<title>setTime.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="jquery-1.7.1.js"></script>
</head>
<script type="text/javascript">
//写法一 在调用N次后停止调用
var index=0;
//f 调用方法 time延迟时间 end调用N次结束
function invoke(f,time,end){
if(!time) time=0;//默认0毫秒
if(!end) end=1;//默认1次
if(end==1){
setTimeout(f,time);
}else{
var hh=setInterval(function(){
show();
if(index==end) clearInterval(hh);
},time);
}
}
function show(){
index++;
$("#span").html("执行次数:"+index);
}
//写法二 根据传参个数决定调用方法
//f 调用方法 time延迟时间 end结束时间
var index2=0;
function invoke2(f,time,end){
if(!time) time=0; //默认初始值为0毫秒
if(arguments.length<=2){//单次调用模式 arguments.length 即参数个数
setTimeout(f,time);
}else{
var h=setInterval(f,time);//循环f();
//在end毫秒后停止调用
setTimeout(function(){clearInterval(h);},end+1);
}
}
function show2(){
index2++;
$("#span2").html("执行次数:"+index2);
}
</script>
<body>
<a href=javascript:void(0); οnclick="invoke('show()',1000,0);">1.setTimeout定时器</a>
<a href=javascript:void(0); οnclick="invoke('show()',1000,5);">1.setInterval定时器</a>
<br>
<h1 id=span></h1>
<br>
<a href=javascript:void(0); οnclick="invoke2('show2()',1000);">2.setTimeout定时器</a>
<a href=javascript:void(0); οnclick="invoke2('show2()',1000,2000);">2.setInterval定时器</a>
<br>
<h1 id=span2></h1>
</body>
</html>
写了两种方法供参考