2015-11-15 54 views
3

我正在爲使用Javascript/HTML的遊戲做10秒倒計時。此時代碼在加載時運行。但是,問題在於我無法將它鏈接到一個按鈕,這樣我就可以在onclick上啓動代碼。麻煩連接javascript到html按鈕

function countdown(secs,elem){ 
 
\t var element= document.getElementById(elem); 
 
\t element.innerHTML = "Time is running out.." +secs+ " seconds"; 
 

 
\t secs--; 
 
\t var \t timer = setTimeout('countdown('+secs+' ,"'+elem+'")',1000); 
 

 
\t if (secs<1) { 
 
\t clearTimeout(timer); 
 
\t element.innerHTML="<h1> GAME OVER!</h1>"; 
 
\t }; 
 
}
<div class="clock"> 
 
\t <div id="status"></div> 
 
\t <script type="text/javascript">countdown(10,"status");</script> 
 
</div>

我已經嘗試了很多不同的事情,但似乎無法得到它的工作。任何幫助都會很棒。由於

回答

0

\t function countdown(secs, elem) { 
 
\t var element = document.getElementById(elem); 
 
\t element.innerHTML = "Time is running out.." + secs + " seconds"; 
 

 
\t secs--; 
 
\t var timer = setTimeout('countdown(' + secs + ' ,"' + elem + '")', 1000); 
 

 
\t if (secs < 1) { 
 
\t  clearTimeout(timer); 
 
\t  element.innerHTML = "<h1> GAME OVER!</h1>"; 
 
\t }; 
 
\t }
<div class="clock"> 
 
    <div id="status"></div> 
 
    <button onclick="countdown(10,'status');">Click Me</button> 
 
</div>

+0

爲什麼沒有OP的代碼工作的? –

+0

沒有按鈕和事件;) –

+0

當執行達到'countdown(10,「status」);'在OP的代碼中時,該函數不應該被調用嗎? –

0

試試這個,你可以按照這個tutorial做參考

function countdown(secs, elem) { 
 
    var element = document.getElementById(elem); 
 
    element.innerHTML = "Time is running out.." + secs + " seconds"; 
 

 
    secs--; 
 
    var timer = setTimeout('countdown(' + secs + ' ,"' + elem + '")', 1000); 
 

 
    if (secs < 1) { 
 
    clearTimeout(timer); 
 
    element.innerHTML = "<h1> GAME OVER!</h1>"; 
 
    }; 
 
}
<div class="clock"> 
 
    <div id="status"></div> 
 
</div> 
 
<button onclick="countdown(10,'status')">start</button>