日期:2014-05-16  浏览次数:20340 次

周期调用函数声明问题
1:刚开始我是这种写法。
var seti=setInterval(chage,5000);
clearInterval(seti);
var seti=setInterval(chage,5000);

2:改成这样达到目的。
var seti;
seti=setInterval(chage,5000);
clearInterval(seti);
seti=setInterval(chage,5000);

想实现重置定时器效果,按照第一种写法是加速了,按照第二种才是正解.
why?

------解决方案--------------------
var seti=setInterval(chage,5000);
clearInterval(seti);
var seti=setInterval(chage,5000)
你应该是放在不同的域里了,不是这样写在一起的吧
------解决方案--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function chage(text){
document.getElementsByTagName("div")[0].innerHTML+=text+"<br />";
}
window.onload=function(){
var seti=setInterval(function(){chage('1')},5000);
clearInterval(seti);
var seti=setInterval(function(){chage('2')},5000);
}
</script>
</head>

<body>
<div></div>
</body>
</html>
没问题啊
------解决方案--------------------
第一种写法你不是定义了两次吗?
------解决方案--------------------
我想的是你第一个定时器,根本执行不到吧!还没等到5秒就被干掉咯...