亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

可運行代碼

<!DOCTYPE html>
<html>
?<head>
? <title>瀏覽器對象</title>?
? <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>??
?</head>
?<body>
? <!--先編寫好網頁布局-->
? <strong>操作成功</strong>
? <br>
?<nobr> <span id='time'>5</span> </nobr> <span>秒后回到主頁</span>
?<a href='javascript:back()'>返回</a>
?
? <script type="text/javascript">?
?
?? //獲取顯示秒數的元素,通過定時器來更改秒數。
?? var time=document.getElementById('time').innerHTML;
?? setTimeout("changeTime()",1000);
?? function changeTime(){
?????? if(time==0){
?????????? back();
?????? }
?????? time--;
?????? document.getElementById('time').innerHTML=time;
?????? setTimeout("changeTime()",1000);
?? }
??
?? //通過window的location和history對象來控制網頁的跳轉。
?? function back(){
?????? clearTimeout();
?????? window.history.back();
?? }
??
?</script>
</body>
</html>

正在回答

3 回答

把你的代碼敲進去試了試??!找到原因啦!

應該在函數外使用setInterval("changeTime()",1000);而不是在函數外使用setTimeout("changeTime()",1000);

因為使用setTimeout只會延遲一次,即只能從5數到4。

另外函數內不需要寫計時函數。

0 回復 有任何疑惑可以回復我~

隔熱板認為setTimeout("changeTime()",1000);這句話應該放在外面。

0 回復 有任何疑惑可以回復我~

<meta charset="utf-8"> 試試,如果是js的話,打開調試器,看看報錯,是什么原因

你的這個原因可能還是函數聲明和調用順序的問題

我建議你,

先聲明,后調用。把第一個settimeout放到倒計時函數的后面。因為,HTML頁面是按照從上到下的順序解析文檔的。你的settimeout寫在前面,而你調用的函數在它調用前根本沒有聲明,如果你打開調試器,因該會報錯,changeTime is undefined。

個人意見試試看

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468836    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

可運行代碼

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號