Как устранить проблемы с рекурсией в интернет-приложении Knack при создании секундомера? - PullRequest
0 голосов
/ 23 июня 2019

У меня есть эта строка кода, которая должна производить секундомер.Однако, когда я запускаю веб-страницу, она замирает в «60: 10».Я даже не знаю, откуда взялись эти цифры в моей строке кода.

Сначала говорилось, что существует проблема рекурсии, но я исправил ее, изменив (if hours < 1000) на (if hours < 10).Так что, возможно, это все еще вещь рекурсии.Или Knack не позволяет изменять код, как это?Нужен ли мне Ajax или что-то еще?

`

//testing javascript stopwatch
$(document).on('knack-view-render.view_2246', function(event, view, record){
  Knack.showSpinner() //this is here only bc i've seen it elsewhere;
var count = 0;
var clearTime;
var seconds = 0, minutes = 0, hours = 0;
var clearState;
var mins, gethours;
    $(".col-6").attr('id', 'shane')

    function startWatch(){
    mins = ( minutes < 10 ) ? ( '0' + minutes + ': ' ) : ( minutes + ': ' );
    /* check if minutes is equal to 60 and add a +1 to hours set minutes to 0 */
    if ( minutes === 60 ) { minutes = 0; hours = hours + 1; }
    /* use the javascript tenary operator to format how the hours should    look and add 0 to hours if less than 10 */
    gethours = ( hours < 10 ) ? ( '0' + hours + ': ' ) : ( hours + ': ' );
    minutes++;
    if (hours < 10) {clearTime = setTimeout(startWatch(), 60000)}
$( ".col-6" ).html('Time: ' + gethours + ' ' + mins);
}
   function startTime() {
    if (minutes === 0 && hours === 0 ) {
    startWatch(); }}

startWatch()
})

Эта строка кода не выдает никаких сообщений об ошибках в консоли, но она не перемещает время, как упомянуто ранее.

...