2014-05-23 9 views
1

Я работаю в приложении phonegap ios. В моем приложении я использую таймер инкремента и таймер уменьшения, используя функцию javascript setTimeout. Когда я нажимаю кнопку меню в моем iPhone, функция таймера приостанавливает подсчет. Когда я снова заново начинаю подсчет с конца. Так что кто-нибудь поможет мне решить эту проблему. Как запустить функцию javascript приложения jQuery jQuery в фоновом режиме.Запустите функцию JavaScript в приложении phonegap ios в фоновом режиме.

ответ

0

Таймеры работают по основной теме. Поэтому, когда приложение переходит в фоновый режим, они не могут работать. Что вы можете сделать, так это сохранить счетчик времени и время, когда приложение переходит в фоновый режим. Когда приложение выходит на передний план, возьмите разницу во времени, и это вам подсчет.

+0

Спасибо за ваш ответ. Хорошо, как найти, что приложение находится в активном состоянии после фона –

+0

Почему вы хотите это знать? – Apurv

+1

Используйте для этого события 'pause' и' resume'. Пример: 'document.addEventListener ('pause', app.devicePause, false);' –

0

вы можете получить исходный код, а также демо-версию для таймера по этой ссылке

использовать код удара его реализацию функции таймера

var count = 0; 
var timer = $.timer(function() { 
    $('#counter').html(++count); 
}); 
timer.set({ time : 1000, autostart : true }); 

Есть много других вариантов, также которые можно исследовать. Например

var Example1 = new (function() { 

// Stopwatch element on the page 
var $stopwatch; 

// Timer speed in milliseconds 
var incrementTime = 70; 

// Current timer position in milliseconds 
var currentTime = 0; 

// Start the timer 
$(function() { 
    $stopwatch = $('#stopwatch'); 
    Example1.Timer = $.timer(updateTimer, incrementTime, true); 
}); 

// Output time and increment 
function updateTimer() { 
    var timeString = formatTime(currentTime); 
    $stopwatch.html(timeString); 
    currentTime += incrementTime; 
} 

// Reset timer 
this.resetStopwatch = function() { 
    currentTime = 0; 
    Example1.Timer.stop().once(); 
}; 

}); 

Надеюсь, это поможет.!

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