Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как отключить функцию если вкладка в фокусе (https://javascript.ru/forum/events/43856-kak-otklyuchit-funkciyu-esli-vkladka-v-fokuse.html)

housewm 24.12.2013 07:00

Как отключить функцию если вкладка в фокусе
 
есть div

в него переодически добавляются новые div'ы

при добавлении div'а меняется заголовок (title)
сделал его мигающим

получается вот так

if(условие){ 
   //ничего не делаем
}
else{
	$(".result").prepend("добавляем div");	
	var timer = setInterval(migalka,1000);
};


как сделать чтобы когда вкладка в фокусе, title оставался прежним, а если же вкладка не в фокусе то добавлялась функция var timer = setInterval(migalka,1000);?

и как сделать если у нас вкладка не в фокусе, сработала наша функция по изменнеию title, мы переходим во вкладку, и наш title становится первоночальным?

можно ли так сделать
if($(window).focus()){
//ничего не делаем с title
}
else{
//добавляем var timer = setInterval(migalka,1000);
}


надо срочно решить
помощь оплачу пишите в личку

Rise 25.12.2013 09:32

var focus = 1;
var defaultTitle = document.title;
window.onblur = function() {
	focus = 0;
	migalka();
};
window.onfocus = function() {
	focus = 1;
};
function migalka() {
	if (focus) {
		document.title = defaultTitle;
		return;
	}
	document.title = (document.title == 'НЕТ ФОКУСА') ? 'МИГАЮ': 'НЕТ ФОКУСА';
	setTimeout(migalka, 1000);
}

housewm 25.12.2013 11:06

чет не пойму как мне ее щас в мой код правильно вставить

setInterval(function() {
	$.getJSON("http://",
	function(data) {
		var d = data.myval;
		var f = data.myval2;
		var f = f.replace('&', '&');
		if($('.ads:contains("'+f+'")').text()){ 
			
		}
		else{
			$(".result").prepend(d);
			//нужно чтобы при добавлении этого элемента мигал титл, если вкладка не в фокусе
		};
	});
},10000);


Часовой пояс GMT +3, время: 04:20.