![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 2.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam Kod
Wszystko ładnie działa. Jednak gdy ktoś nie wyłączy funkcji auto Play klikając w przycisk #galSr i przejdzie na inną podstrone....potem wróci na strone z galeria spowrotem interval nie jest wyczyszczony i tworzy sie dodatkowo tak jakby nowo i zdjecia zmieniaja sie z rozna predkoscia (jakby byly dwa intervaly) oraz nie da sie juz wylaczyc w ogole funkcji auto play nawet naciskajac na przycisk #galSr Dodam że podstrony ładuję w stylu AJAX - gdybym odświeżył stronę problemu nie ma. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
[...] Dodam że podstrony ładuję w stylu AJAX - gdybym odświeżył stronę problemu nie ma. No i tutaj sam sobie odpowiedziałeś na pytanie. Przecież to oczywiste, że jak ładujesz stronę w ajax`ie, to skrypty nie są przeładowywane, a niewyczyszczony interval nadal działa. Tworzysz nowy interval - wtedzy działają dwa, a na dodatek referencję do tego pierwszego nieodwracalnie sobie nadpisujesz. Rozwiązaniem jest po prostu wyczyszczenie interval`a w chwili wczytania strony. Ten post edytował flashdev 6.08.2010, 23:12:22 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 2.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ale właśnie problem w tym, że jak dodam clearInterval do akcji przycisku który ładuję nową stronę to niestety w ogóle nie czyści mi tego interval......
window.clearInterval(interval2); dodanie takiego czegoś ppoza funkcja play(); blokuje mi w ogole skrypt i funkcja przestaje działać.. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Kod alert(interval); Sprawdź czy przypadkiem nie zawiera undefined - może odwołujesz się do zmiennej tam gdzie jej nie ma. Nie widzę kodu, więc poza domysłami nic nie pomogę. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A masz w tamtym miejscu w ogóle zasięg do zmiennej wskaźnika stopera?
![]() Z tego, co pamiętam, to wszystkie funkcje interval/timeout działają w kontekście globalnym, więc trzeba stoper umieszczać globalnie. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 2.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Gdy dodałem do przycisku
alert(interval); W ogóle nie pokazuję mi alerta....traktuję jakby w ogóle nie było tego kodu.... EDIT Udało mi się rozwiązać 1. usunięcie z funkcji play kodu: var interval; 2. odwoływanie się potem do czyszczenia z dopiską window: window.clearInterval(interval2); 3. Zmiana nazw interval1 oraz interval2 dzieki za pomoc w naprowadzaniu na rozwiazanie!!!!!! pozdrawiam Ten post edytował tomeknh 7.08.2010, 14:11:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:46 |