<!DOCTYPE?html>
<html>
?<head>
??<title>瀏覽器對象</title>??
??<meta?http-equiv="Content-Type"?content="text/html;?charset=gkb"/>???
?</head>
?<body>
??<!--先編寫好網頁布局-->
?<h3>操作成功</h3>
<b?id="s">5</b>秒后回到主頁<a?href=""?onclick="goback()">返回</a>
<script?type="text/javascript">
var?sec=5;
setTimeout(clock,1000);
function?clock()
{
????document.getElementById("s").innerHTML=sec;
????if?(sec==1)
????window.location.href?=??"http://www.xianlaiwan.cn/";
????sec=sec-1;
????setInterval(clock,1000);
}
function?goback()
{
????window.history.back();
}
???
?</script>?
</body>
</html>
2019-07-24
先不要哭,代碼看完,你寫的里邊if(sec == 1){}后邊加上{}這個。其次你每次回調clock的時候就會生成一次定時器。當前5-4-3 調用2次的時候,你代碼其實有兩個定時器,每個定時器都會把sec-1,這樣的話你sec每一秒會被減兩次 所以你的sec會跳著走,5-4-3-1-負2,以下是正確代碼,望采納。
2019-07-24
在這個例子你可以觀察下瀏覽器,根本看不到節點變成了 你好前端 。他是直接變成了? 你好后端
2019-07-24
兩個定時器 減的sec的值,document.getElementById("s").innerHTML=sec這句話執行二次,瀏覽器肯定會存在一個先后調用的過程,但是如果先后兩個操作值做一件事(類似操作節點。),且時間間隔非常小,瀏覽器就只執行最后那一個要做的那個事