Problém javascript setInterval

Programovacie jazyky, rady, poradňa...
Preetro
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 269
Registrovaný: 16 nov 2005, 19:40
Bydlisko: škatuľka od topánok

Problém javascript setInterval

Príspevok od používateľa Preetro »

čaute, mám takýto problém:

mám na stránke funkciu gallery(), ktorú volám v intervale (teraz konkrétne 12 sekúnd) pomocou setInterval('gallery()',12000); a tak sa premieňajú automaticky obrázky. Všetko pekne funguje ako má. Problém nastane, keď si stránku nechám otvorenú, prepnem sa do inej záložky v prehliadači na inú stránku a po čase dlhšom ako tých 12 sekúnd sa vrátim naspäť na tú stránku s galériou (do pôvodnej záložky), tá galéria sa už neprepína v intervale 12 sekúnd ale po 1 sekunde a to takto trvá určitý čas. Potom ako sa to takto vyblázni (pravdepodobne ako sa poprepínajú všetky obrázky, ktoré by sa zobrazili, ak by som sa zo stránky neprepol na inú), tak zasa sa tie obrázky v galérii prepínajú tak, ako sa majú po 12 sekundách. Nevie niekto, kde by mohol byť problém? A ako ho odstrániť?

Dúfam, že som to zrozumiteľne popísal.. ak nie, tak sa pýtajte a skusím to upresniť.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Problém javascript setInterval

Príspevok od používateľa audiotrack »

problém bude v zdrojáku. A ako ho odstrániť? No to by sme ho museli vidieť :)
Preetro
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 269
Registrovaný: 16 nov 2005, 19:40
Bydlisko: škatuľka od topánok

Re: Problém javascript setInterval

Príspevok od používateľa Preetro »

tak teda tu je zdroják :) hádam sa tá chyba niekde nájde .. ako som písal..ono to funguje, len problém nastane ak sa prepnú záložky, alebo okná v prehliadači a po nejakom čase to zblbne a potom sa to zas vráti do normálu

Kód: Vybrať všetko

$(document).ready(function() {		
	
	setInterval('gallery()',12000);

});

function gallery() {
	
	
	var current = ($('#gallery a.show')?  $('#gallery a.show') : $('#gallery a:first'));

	
	var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $('#gallery a:first') :current.next()) : $('#gallery a:first'));	
	
	
	var caption = next.find('img').attr('rel');	
	
	
	next.css({opacity: 0.0}).addClass('show').animate({opacity: 1.0}, 1000);

	
	current.animate({opacity: 0.0}, 1000).removeClass('show');
	
	
	$('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });	
	
	
	$('#gallery .caption').animate({opacity: 0.7},100 ).animate({height: '65px'},500 );
	
	
	$('#gallery .content').html(caption);	
	
}
//autoeditácia príspevku (30 Júl 2011, 20:20)
takže problém nie je v zdrojáku, keď nikto nevie odpovedať? :?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Problém javascript setInterval

Príspevok od používateľa audiotrack »

v zdrojaku nevidim nic zle. Zrejme si s tym nevie iba prehliadac moc poradit, lebo tam robis dost operacii narocnych na vykreslovanie a ked je okno neaktivne tak sa tieto veci nespracuvavaju.
Napísať odpoveď