JQuery вернуть время, оставшееся время .setTimeout () - PullRequest
0 голосов
/ 07 декабря 2011

У меня работает таймер, и когда он заканчивается, я передаю var seconds в функцию.Мне нужно преобразовать этот таймер из оставшихся секунд в время, потраченное до вызова.

Теперь он говорит: «Вы нажимаете все div в течение 16 секунд», но 16 секунд это оставшееся время.* Возможно ли это, или мне нужно создать другую функцию для этого?

Вот код: http://jsfiddle.net/dYqqv/10/

Ответы [ 2 ]

4 голосов
/ 07 декабря 2011

Если вы начали обратный отсчет 30 с и знаете, что 16 с уже прошли, то прошедшее время составляет 30 с - 16 с = 14 с

function win() {
    clearTimeout(timer);
    $('#panel').hide();
    var timeElapsed = 30 - seconds;
    $('#won').fadeIn('slow').html('<span class="">You click all div\'s in ' + timeElapsed + ' seconds</span>');
}
2 голосов
/ 07 декабря 2011

Вы можете использовать отдельную переменную score, которая отсчитывает секунды, а seconds ведет отсчет.

Обновленный пример: http://jsfiddle.net/dYqqv/12/

Или лучший способ - просто вычесть начальное время (30 с) и истекшее время (seconds).

Обновленный пример: http://jsfiddle.net/dYqqv/13/

...