2016-12-05 97 views
-3

我有這個小問題...在這段代碼中,如果我只定義start()一切正常,但是當我聲明time()時,我得到錯誤: 「 TypeError:啓動不是函數「。哪裏有問題?? 這裏的代碼,Javascript,TypeError:「函數」不是函數

//start 
 
function start(){ 
 
\t 
 
\t //removes title and start boxes 
 
\t var body=document.getElementsByTagName("body")[0]; 
 
\t var start_box=document.getElementById("start_box"); 
 
\t var title_box=document.getElementById("title_box"); 
 
\t body.removeChild(start_box); 
 
\t body.removeChild(title_box); 
 
\t 
 
\t //creates stats box 
 
\t var stats_box=document.createElement("div"); 
 
\t stats_box.id="stats_box"; 
 
\t var time=document.createElement("p"); 
 
\t time.id="time"; 
 
\t var points=document.createElement("p"); 
 
\t points.id="points"; 
 
\t stats_box.appendChild(points); 
 
\t stats_box.appendChild(time); 
 
\t body.appendChild(stats_box); 
 
\t 
 
\t //creates play box 
 
\t var play_box=document.createElement("div"); 
 
\t play_box.id="play_box"; 
 
\t body.appendChild(play_box); 
 
\t 
 
} 
 

 
//time 
 
function time(){ 
 
\t var time=document.getElementById("time"); 
 
\t for(x=30,x>=0,x--){ 
 
\t \t time.innerHTML("Time:"+x); 
 
\t } 
 
}
<!DOCTYPE HTML> \t 
 
<html> 
 
\t <head> 
 
\t \t <title>PICK 'EM ALL</title> 
 
\t \t <link rel="stylesheet" href="pta.css" type="text/css"> 
 
\t \t <script src="pta.js" type="text/javascript"></script> 
 
\t </head> 
 
\t <body> 
 
\t \t <div id="title_box"> 
 
\t \t \t <p id="title">PICK 'EM ALL</p> 
 
\t \t </div> 
 
\t \t <div id="start_box" onclick="start()"> 
 
\t \t \t <p id="start">START</p> 
 
\t \t </div> 
 
\t </body> 
 
</html>

+9

這只是一個錯字:你已經使用' '而不是';'在'時間'中'for',所以腳本作爲一個整體不解析,並且沒有定義它。你需要'for(x = 30; x> 0; x - )'這裏有兩個有價值的教訓:1.打開你的web控制檯,它告訴你到底發生了什麼錯誤。 2.語法錯誤可能會炸燬整個腳本。 –

+3

你的代碼也陷入了[*隱式全局的恐怖*](http://blog.niftysnippets.org/2008/03/horror-of-implicit-globals.html):聲明你的變量('x' ,例如,在'時間'中)。 –

+1

對於OP,我建議使用內置Linting的好編輯器,這樣的錯誤會立即被拾取。 – Keith

回答

-1

問題是for循環,它應該是分號,而不是逗號

for(x=30;x>=0;x--){ 
     time.innerHTML("Time:"+x); 
    } 
+5

錯別字不需要答案,只是評論(我已經這樣做了)並關閉投票。 –

相關問題