Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak wznowić setInterval po tymczasowym clearInterval, Jak przerwać odświeżanie strony tymczasowo zdarzeniem onfocus?
e-milosz
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.02.2010

Ostrzeżenie: (0%)
-----


Jak w temacie i opisie, normalnie miałbym
Kod
setInterval(reload, 10000);
.
Na focus chciałbym przerwać odswierzanie by mi tekstu nie czyściło a potem wznowić odświeżanie na blur.
Poniższe rozwiązanie oczywiście nie dość że nie zacznie wstępnie odświeżać to wykona się tylko raz czyli już za drugim razem nie odpali setinterval czy clearInterval.
Nie wiem jak zbudować jakąś pętlę która by warunkowała zdarzenia z porządanym efektem.

Kod
    var timer = null;            
$('#notes').blur(function(){    
    timer = setInterval(reload, 10000);
});


$('#notes').focus(function(){                  
    if(timer){                         
       clearInterval(timer);    
       timer = null
    }
});


Ten post edytował e-milosz 4.12.2011, 16:36:00
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Spróbuj inaczej (IMG:style_emoticons/default/smile.gif) :
- stwórz zmienną globalną np. test
- w funkcji, którą wrzucasz do setInterval daj:
Kod
function xxx(){
if( test )
   /**/
}
}

- w zdarzeniach zmieniaj tylko zmienną globalną: test

Twoje rozwiązanie też wydaje się ok, nawet poprawniejsze. Nie do końca wiem dlaczego ma nie działać wielokrotnie...
Co do początkowego odświeżenia to:
Kod
var timer = null;

->
Kod
var timer = setInterval(reload, 10000);


Napisz jakiś przykład - na żywo(stronę demo)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 22:30