JavaScript定时器取消后怎样重新启动??

我这个定时器关闭后怎样重新启动不会吧所有的函数再在里面写一遍吧?<!doctypehtml><htmllang="en"><head><metacharset="utf-... 我这个定时器关闭后怎样重新启动 不会吧所有的函数再在里面写一遍吧?
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>document</title>
<style>
#div1 img{ height:200px; width:200px;position:absolute;}
#div1 .active{ background:yellow;}
img{ height:100%;width:100%;}
</style>
<script>
window.onload=function(){

var oDiv1=document.getElementById('div1');

var aBtn=oDiv1.getElementsByTagName('input');
var aDiv=oDiv1.getElementsByTagName('div');
var aImg=oDiv1.getElementsByTagName('img');
var n=0;
var t=0;
t=setInterval(function(){
n++;
n=n%aBtn.length;
for(var i=0;i<aBtn.length;i++){
aBtn[i].className="";
aImg[i].style.display="none";
}
aImg[n].style.display="block";
aBtn[n].className="active";
aImg[n].onmouseover=function(){
clearInterval(t)
};
aImg[n].onmouseout=function(){
//这里怎么写?
};
},500);

}
</script>
</head>
<body>
<div id="div1">
<input class="active" type="button" value="1">
<input type="button" value="2">
<input type="button" value="3">
<input type="button" value="4">
<div><img style="display:block" src="1.jpg"></div>
<div><img src="2.jpg"></div>

<div><img src="3.jpg"></div>
<div><img src="4.jpg"></div>
</div>
</body>
</html>
展开
 我来答
xi8km9
推荐于2017-09-25 · TA获得超过1086个赞
知道小有建树答主
回答量:688
采纳率:50%
帮助的人:716万
展开全部
首先给函数个名字
t=setInterval(function self(){
然後

aImg[n].onmouseout=function(){
t=setInterval(self,500)
};

当然你也可以使用arguments.callee, 或者以下写法
function action()
{
...
t=setInterval(action,500)
...
}
t=setInterval(action,500)
总而言之都是要获取到函数本身
剑人曾增
2017-09-24
知道答主
回答量:38
采纳率:0%
帮助的人:1.2万
展开全部
答主,fun1函数不用var声明的话会报错哦
应该能是这样吧--
var t=setInterval(fun1,500)//fun1是你的函数
var fun1=function(){
    //写入你的函数
    alert("执行代码");
}
clearInterval(t)//清除定时器
t=setInterval(fun1,500)//重新开始定时器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tatooo
推荐于2018-02-04 · TA获得超过2119个赞
知道小有建树答主
回答量:2497
采纳率:46%
帮助的人:666万
展开全部

定时器里的函数要单独定义一下,不要直接写在定时器里

如下

var t=setInterval(fun1,500)//fun1是你的函数
fun1=function(){
    //写入你的函数
}
clearInterval(t)//清除定时器
t=setInterval(fun1,500)//重新开始定时器
追问

是这样吗  我写的怎么不能运行呢?哪里不对??

追答
哦,fun1定义应该在t=setInterval(fun1,500)前面
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MITKING12138
2018-02-04
知道答主
回答量:2
采纳率:0%
帮助的人:1750
展开全部
var timer =function(){
timer1 = setInterval(move,5);}
timer();
tan.addEventListener("mouseover",function(){
clearInterval(timer1);
},false);
tan.addEventListener("mouseout",timer,false);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式