2015-02-08 86 views
1

我想製作定時器功能,但我無法調用setInterval中的函數,並顯示錯誤Uncaught TypeError: undefined is not a function(index):24 CountTime(index):34 (anonymous function)在setInterval中找不到自己定義的函數

$(function() { 
    function CountTime(startTime){ 
     stopTime = Date.new(); 
     PassedTime = stopTime.getTime() - startTime.getTime(); 
     $('#timer').text(PassedTime.toLocaleTimeString()); 
    } 

    startTime = new Date(); 
    $('#start').click(function() { 
     setInterval(function() { 
      CountTime(startTime); 
     }, 1000); 
    }); 
}); 

我在做什麼錯?

我把代碼放在jsfiddle中。 http://jsfiddle.net/w2xjz2ze/

回答

1

的問題是在這裏:

stopTime = Date.new(); 

Date.newundefined

你可能想

stopTime = new Date; 

,但使用的new Date然後getTime,你可以直接使用Date.now()

+0

...和'PassedTime.toLocaleTimeString()'也沒有意義。 – dfsq 2015-02-08 11:27:43

+0

謝謝!我更新了代碼'http:// jsfiddle.net/w2xjz2ze/1 /'。 'toLocalTimeString()'我想讓'Date'實例變成像'00:00:30'這樣的'String'。 – ironsand 2015-02-08 11:32:52

+1

我明白了,'Date.now()'從'1970'返回整個時間的毫秒數。 – ironsand 2015-02-08 11:40:21

相關問題