2014-05-16 100 views
0

我正在嘗試製作一個倒計時時鐘,並且每隔一秒鐘倒計時,但是當用戶輸入一個新的秒值時,它不會重新開始,而是從之前的值繼續。我怎麼能改變這個?每秒倒數值更新

function clock() { 
    var $s = $(".second"), 
    s = setInterval(1000); 
    setTimeout("clock()", 1000); 
    $s.val(s).trigger("change"); 

} 
clock(); 

http://jsfiddle.net/z4LSN/3/

+0

哪裏的用戶輸入數值,張貼一些HTML太多。 –

+1

你沒有使用他們輸入的值...你似乎在使用'setInterval'結果並將其填入輸入中? –

+0

我使用插件jquery旋鈕http://anthonyterrien.com/knob/,用戶通過轉動圖表輸入一個值 – user3637210

回答

0

也許你可以試試這個

$(document).ready(function(){ 
    $(".second").knob() 
    setUpClock(); 
     // destroy the prev clock during user input 
    $(".second").keydown(function(){ 
      tearDownClock(); 
    }); 

     //restart the clock when the user navigates away from the input 
    $(".second").blur(function(){ 
      if(!interval){ 
       setUpClock(); 
      }      
    }); 
}); 
function clock(){ 
    var secHtml = $(".second"); 
    var sec = secHtml.val(); 
    if(sec-1>=0){ 
     secHtml.val(sec-1); 
     secHtml.change(); 
    } 
    else{ 
     tearDownClock(); 
    } 

} 
function setUpClock(){ 
    interval = setInterval(clock,1000); 
} 
function tearDownClock(){ 
    window.clearInterval(interval); 
    interval=null; 
} 

這裏是新完整Fiddle

+0

謝謝,但沒有時鐘沒有啓動.. – user3637210

+0

我其實下載了旋鈕庫並試了一下。它爲我工作。 – Crystal

+0

你能設置一個小提琴什麼的,所以我可以選擇文件?請 – user3637210