![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 9.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Co zrobić, żeby funkcja wykonała się do końca, nawet jeśli nastąpi zdarzenie click podczas jej wykonywania?
Inaczej: Funkcja dokonuje jakichś zmian po kliknięciu. JEśli kliknę kilka razy szybko, to tamte funkcje nie zdążają się wykonać w całości, są przerywane w połowie wykonania, a tego nie chcę. Chcę, żeby jak kliknę dziesięć razy to żeby funkcje wykonały się dziesięć razy od początku do końca. Niestety kolejki jquery nie są rozwiązaniem bo działają tylko dla animacji. Mogę wymusić żeby za pomocą funkcji queue( funkcja ) animacje wykonywały się w całości, jednak to już nie działa dla funkcji, które dokonują operacji |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 7 Dołączył: 6.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ja to robię w ten sposób.
Krótkie wyjaśnienie: 1) Na początku definiuję zmienną globalną przechowującą status animacji (STOP - brak odtwarzania, PLAY - animacja się odtwarza). 2) Jeśli zmienna ma wartość STOP (animacja nie jest wykonywana), to zmienna przyjmuje wartość PLAY i odtwarza się animacja. 3) Animacja się wykonuje, po czym zmienna kontrolna z powrotem przyjmuje wartość STOP. Jeśli ktoś zacznie klikaninę przed dokończeniem animacji, to nic się nie stanie, _AnimateStatus będzie 'PLAY' i polecenie zostanie zignorowane. Ten post edytował stud3nt 7.10.2012, 12:36:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 16:30 |