Sytuacja wygląda tak
Fragment kodu ze strony
<div id = "place"><div id="slider"></div></div>
slider to galeria zdjęć, które rotują (raz pojawia się jedno raz inne). obsługuje je funkcja "galeria"
Użytkownik może jednak zażyczyć sobie, by w div place znalazło się coś innego np. dokument pdf. Jak klient już przeczyta ten dokument to może nacisnąć inny przycisk, który z powrotem przywróci zdjęcia w to miejsce.
I teraz o co chodzi.
Jak klient wciśnie przycisk "pdf" to w miejscu "place" pojawia się pdf. Inne wypełnienie div'a "place powoduje, że mniej więcej w 70% przypadków funkcja galeria się wykrzacza. TypeError: document.getElementById(...) is null - jest to zgodne z prawdą bo "slidera" już tu nie ma. więc jak klient przywraca div slider to nic się nie dzieje. (funkcja galeria się zawiesiła więc nie wyświetla kolejnych zdjęć - logiczne) .
alternatywą mogłoby być ponowne uruchomienie funkcji galeria - jest tylko jeden problem, że czasami funkcja działa i wówczas chodzi 2 razy co powoduje, że rotator galerii "głupieje".
Rozwiązaniem by było zatrzymanie funkcji galeria i uruchomienie jej ponownie. Tyle, że nie wiem jak ją zatrzymać.
Freja Dracopróbuje składać skrypty PHP za pomocą skryptów JS?
Tak, ale akurat w tym wypadku to faktycznie może działać. Wartości poszczególnych zmiennych przypisywane są podczas ładowania strony, a dynamicznie wołana jest już tylko zmienna z określonego numerka. Ale ogólne wykonanie do bani.