為什么我的速度是翻倍的在算的
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h2>操作完成</h2>
<p><a id="num1">10</a>秒后返回主頁<a href="javascript:goBack();">返回</a></p>
<script type="text/javascript">
var num = 10;
var time = null;
clearInterval(time);
function back1(){
var num2 = document.getElementById("num1");
num2.innerHTML=num;
? ? ? ? ?num--;
? ? ? ? ? ? setInterval("back1()",1000)
/*if(num!==0){
window.location.;
? ? ? ? ? ? ?clearInterval("back1()")
}
? ? ? ? else{
? ? ? ? ?
? ? ? ? }
? ? ? ? */
}
setTimeout("back1()",1000)
function back2(){
window.history.go(-1);
}
</script>
</body>
</html>
2016-01-13
你放到back1里面,等于是遞歸調(diào)用,每調(diào)用一次back1就會多一倍的計時器,指數(shù)增長,1變2,2變4,4變8.。。。
2016-01-13
在代碼上面 back1中 不應(yīng)該用setInterval 而是應(yīng)該用setTimeout 這樣就會正常了
2016-01-13
var num = 10;
clearInterval(timer);
function back1(){
var num2 = document.getElementById("num1");
num2.innerHTML = num;
? ?num--;
? ?if(num==0){
? ? goBack();
? ?}
}
var timer = setInterval("back1()",1000);
function goBack(){
window.history.go(-1);
}