Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wielokrotne kliknięcie
Kozo_WSP
post
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
Go to the top of the page
+Quote Post
Arcioch
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


Hmm a może jQuery stop (IMG:style_emoticons/default/wink.gif)
Sorki źle przeczytałem (IMG:style_emoticons/default/wink.gif)
Daj sobie jakaś zmienną na 0 (IMG:style_emoticons/default/wink.gif) po kliknięci zmień ją na 1. Gdy animacja albo funkcja skoczy się wykonywać zmieniaj ją na 0 (IMG:style_emoticons/default/smile.gif) W clicku daj warunek że ma środek zadziałać jeżeli zmienna jest równa 0 (IMG:style_emoticons/default/wink.gif)

Ten post edytował Arcioch 7.10.2012, 08:57:37
Go to the top of the page
+Quote Post
stud3nt
post
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 7
Dołączył: 6.01.2012

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


Ja to robię w ten sposób.

[JAVASCRIPT] pobierz, plaintext
  1. var _AnimateStatus = 'STOP';
  2.  
  3. function nasza_animacja() {
  4. if (_AnimateStatus == 'STOP') {
  5. _AnimateStatus = 'PLAY';
  6. $('#NASZ_OBIEKT').animate({marginLeft:400, marginRight:500}, 400, function() {
  7. _AnimateStatus = 'STOP';
  8. });
  9. }
  10. }
[JAVASCRIPT] pobierz, plaintext


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
Go to the top of the page
+Quote Post
Kozo_WSP
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 9.02.2007

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


Tu nie chodzi o animacje, już pisałem. Jeśli by o to chodziło, to nie mam z tym najmniejszego problemu.
Go to the top of the page
+Quote Post
Arcioch
post
Post #5





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


Pokaż kod a my go spróbujemy dostosować (IMG:style_emoticons/default/wink.gif)
Wydaje mi się że wystarczy utworzyć zmienna i sprawdzać ją w clicku ale bez kodu to ciężko pomóc (IMG:style_emoticons/default/wink.gif)
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: 25.09.2025 - 00:38