Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2015, 12:40
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

Приостановить работу скрипта, если браузер свернут, либо с вкладки перешли
Имеется следующий скрипт:

function DisableAgree() {
	var element = document.getElementById('agreed');
	element.style.pointerEvents = "none";
	element.style.opacity = "0.5";
	element.style.visibility = "visible" ;
	element.style.setProperty('width', '226px', 'important');
		countdown(60);
};

function EnableAgree() {
	var element = document.getElementById('agreed');
	element.setAttribute("value", '{L_AGREE}');
	element.removeAttribute("style");
};

var checkLoad = function() {   
	document.readyState !== "complete" ? setTimeout(checkLoad, 11) : DisableAgree();   
};

function countdown(seconds_) {
	var seconds = seconds_;
	function tick() {
		var counter = document.getElementById("agreed");
		seconds--;
		counter.setAttribute("value", '{L_TIME_BEFORE_REGISTRATION}' + (seconds < 10 ? "" : "") + String(seconds) + ' {L_SECONDS}');
	        if( seconds > 0 ) {
        		setTimeout(tick, 1000);
		} else {
			EnableAgree();
		}
	}
	tick();
};

	checkLoad();


Можно ли приостановить работу таймера (ф-я countdown), если браузер свернут, либо если с вкладки перешли на другу вкладку? и продолжить при возвращении на вкладку с текущей страницей?
Если конечно такое решение существует и не будет слишком громоздким, потому как я совсем начинающий в этом вопросе.


PS: если тема создана не в том разделе, прошу простить и перенести в подходящий в более раздел.

Последний раз редактировалось alecto, 26.09.2015 в 12:42.
Ответить с цитированием
  #2 (permalink)  
Старый 27.09.2015, 23:06
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Попробуй поиграться с получением и потери фокуса окна.
$(window).focus(function (e) { /* ... */ });
$(window).blur(function (e) { /* ... */ });
Ответить с цитированием
  #3 (permalink)  
Старый 28.09.2015, 00:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

alecto,
Page_Visibility_API
Ответить с цитированием
  #4 (permalink)  
Старый 28.09.2015, 09:28
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Интересное решение. Не знал.
Ответить с цитированием
  #5 (permalink)  
Старый 28.09.2015, 23:03
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

спасибо! попробую.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск