2015-02-08 3 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.newявляетсяundefined.

Вы, вероятно, хотели

stopTime = new Date; 

Но вместо того, чтобы использовать new Date затем getTime, вы можете напрямую использовать Date.now().

+0

... и 'PassedTime.toLocaleTimeString()' тоже не имеет смысла. – dfsq

+0

Спасибо! Я обновил код 'http: // jsfiddle.net/w2xjz2ze/1 /'. с 'toLocalTimeString()' Я хотел сделать экземпляр 'Date' равным' String' как '00: 00: 30'. – ironsand

+1

Я получил его, 'Date.now()' возвращает миллисекунду всего времени с '1970'. – ironsand

Смежные вопросы