Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Javascript setinterval clearinterval problem...
adamli
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 18.07.2008

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


Witam
W pewnym skrypcie php mam zdefiniowany tabpanel z extjs... w zaleznosci od tego jaki
tab sie kliknie wywolywany jest nastepny skrypt wczytujacy zawartosc dla tego tab'a
skrypt ten zawiera rowniez funcje setinterval ktora aktualizuje zawartosc tego tab'a co np. 10 sekund...
Problem polegana tym iz przelaczajac np z tab1 na tab2 musialbym wyczyscic to co uruchomilem
przez setinterval dla pierwszego tab'a... jak moge to zatrzymac? jezeli setInterval i clearInterval
sa w jednym skrypcie to nie jest problem a jak moge to rozwiazac w moim przypadku?questionmark.gif
Z gory dziekuje za odpowiedz.

Adam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Nie znam extjs ale zasada zastosowania będzie podobna
Klikając na tab wywołujesz funckję do której przekazujesz np id tab'a:
  1. <?php
  2. function tab(id){
  3.     var tabs = new Array('tab1','tab2','tab3');
  4.     for (var i=0;i<tabs.length;i++){
  5.         clearInterval(tabs[i]);
  6.     }
  7.     // jakieś akcje
  8.     setInterval(id);
  9. }
  10. ?>


--------------------
Go to the top of the page
+Quote Post
adamli
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 18.07.2008

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


to nie jest takie proste... postaram sie wytlumaczyc...
otoz skrypt1.js laduje okno z panelem z tabami...

Ext.getCmp(\"wallbtabs\").load(\"wallboard_new.php?tab=1\");
przy aktywacji tab2 i tab3 jest przekazywany odpowiendnio 2,3
w wallboard_new zdefiniowany jest setinterval ktory za pomoca ajaxa
odswieza zawartosci tab

NIESTETY przy wywolaniu wallboard_new.php?tab=2 (przy aktywacji 2-go tab'a)
setinterval/task dla pierwszego taba nie jest nadpisywany tylko tworzona jest jakby druga instancja itd...
w ten sposob za kazdym przelaczeniem taba powstaje nowy 'task'.
Kumamy?

Adam
Go to the top of the page
+Quote Post
vokiel
post
Post #4





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


W wallboard_new.php przy tworzeniu setinterval możesz zapisać jego id w sesji, a poźniej, gdy załadujesz inną zakładkę usunąć wszystkie zgromadzone id intervalu z sesji poprzez clearInterval(id_zsesji).

Ew mozesz tworzyc w kazdym przypadku tworzyc takie samo id, i na poczatku sprawdzac czy wywolano setInterval dla danego id, jesli tak to clearInterval i nowy setInterval, a jeśli nie, to samo setInterval.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 09:49