Javascript倒计时计时器根本没有启动

Javascript倒计时计时器根本没有启动,javascript,html,Javascript,Html,倒计时计时器根本不会启动。有人能帮我弄清楚为什么我的代码不起作用吗 这是因为您的按钮和输入标签使用了相同的id:)请将按钮id更改为其他名称。您应该为输入字段提供默认值,否则它将得到NaN(不是数字)希望它对您非常有用 Id也是唯一的,不要与其他元素重复。InnerHtml也不会为您必须使用的值提供值。值 function countdown(val){ var number =document.getElementById("timer").value; va

倒计时计时器根本不会启动。有人能帮我弄清楚为什么我的代码不起作用吗

这是因为您的按钮和输入标签使用了相同的id:)请将按钮id更改为其他名称。

您应该为输入字段提供默认值,否则它将得到
NaN(不是数字)
希望它对您非常有用 Id也是唯一的,不要与其他元素重复。InnerHtml也不会为您必须使用的值提供值。值

   function countdown(val){    
   var number =document.getElementById("timer").value;    
   var interval = setInterval(function()    
 {


    document.getElementById("timer").innerHTML =parseInt(number,10)+val;    

    if (number== 0)    
    clearInterval(interval);

}, 1000);

Id应该是唯一的,它认为Id是按钮而不是输入的,对按钮使用不同的Id

使用相同的Id作为输入类型,并且按钮Id=“timer”Id应该是唯一的,在示例代码中javascript缺少a}这也在我们的代码中吗?非常感谢@Junaid Ahmed。既然我必须给输入元素一个默认值,那么我该如何动态地输入时间呢。是否有其他方法可以执行此操作?@KevinGeorge您可以使用一个输入框来输入时间。通过使用此输入框,您还可以为该计数器添加开始-停止按钮
   function countdown(val){    
   var number =document.getElementById("timer").value;    
   var interval = setInterval(function()    
 {


    document.getElementById("timer").innerHTML =parseInt(number,10)+val;    

    if (number== 0)    
    clearInterval(interval);

}, 1000);
 <html>    
    <head>    
        <title>Countdown Timer</title>    
    </head>
    <body>
     <label for="timer"><abbr title="Countdown">Cdown</abbr></label>    
     <input id="timer" value="20"/>   
     <button id="buttontimer" onclick="countdown(-1)">Start </button>
    </body>
    <script type="text/javascript" src="script.js"></script>
    </html>
  function countdown(val){  
   var number =document.getElementById("timer").value;    
   //setInterval(function(){ alert("Hello"); }, 3000);
   var interval = setInterval(function()    
 {

    number = parseInt(number)+val;
    document.getElementById("timer").value =     number;

    if (number == 0)    
    clearInterval(interval);

}, 1000);
}