Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Click i powtórka zdarzeń
dela
post 10.10.2011, 19:38:39
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 16.06.2009

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


[JAVASCRIPT] pobierz, plaintext
  1. $("#button-add").click(
  2. function (){
  3. $(".buttons").animate({"top": "-=35px"}, 150);
  4. setTimeout(function(){
  5. $(".buttons").fadeOut(50)}, 50);
  6. setTimeout(function(){
  7. $(".menu-button-add").fadeIn(150)}, 180);
  8. });
  9. $("#okey").click(
  10. function () {
  11. $(".menu-button-add").fadeOut(130), 180;
  12. setTimeout(function(){
  13. $(".buttons").fadeIn(50)}, 180);
  14. setTimeout(function(){
  15. $(".buttons").animate({"top": "+=35px"}, 150)}, 180);
  16. });
[JAVASCRIPT] pobierz, plaintext

Problem jest następujący... Jeżeli szybko kliknę na #button-add animacja wykonuję się 2x(przesunięcie .buttons wynosi wtedy -70px) z kolei mam #okey który przywraca .buttons tylko o 35px. Co mam zrobić by uniemożliwić wielokrotne kliknięcie na #button-add questionmark.gif
Go to the top of the page
+Quote Post
lobopol
post 10.10.2011, 19:58:11
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


ustaw np. jakąś zmienną przed wykonaniem powiedzmy block = 1; i w funkcji sprawdzaj czy jest ustawione na 1, jeżeli tak ustawiaj na np. 2 i na zakończeniu funkcji ustawiaj ją znowu na 1.


--------------------
Go to the top of the page
+Quote Post
ShadowD
post 10.10.2011, 20:14:17
Post #3





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Grr kocham jak ktoś korzysta z 1 i 2, a w jakim calu jest boold? Na początku animate=false, jak wykonujesz animację - na samym początku sprawdzasz czy animate==false jeśli tak, to dodajesz animate=true, a po skończonej animacji jako powodzenie (kolejny argument w animate({co i o ile},function(){animate=false})). Jeśli dodał byś przypisanie na false w inny sposób nic by to nie dało, a dzięki takiemu nazewnictwie wszystko jest bardzo czytelne. :-)


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
dela
post 11.10.2011, 20:14:38
Post #4





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 16.06.2009

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


Hmm jestem początkującym więc jeszcze mało się orientuje ale na phpowski rozum, rozumuje że chodzi o if(), zgadza się? wink.gif)
Ale jakby ktoś mógł mi to wpisać w kod byłbym bardzo wdzięczny.

Wyjaśni lub pomoże mi ktoś?
Go to the top of the page
+Quote Post
ShadowD
post 12.10.2011, 14:27:29
Post #5





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Po click, od razu na początku sprawdzasz czy animate=0 jeśli tak to puszczasz dalej, jeśli nie to nic nie robisz if(){tu zawartość cilick - ta w finction(){TO}}. Na początku skryptu var animate =0 (poza czymkolwiek na samym up). W if zaczynasz o przepisanie animate=1, potem w kolejnym argumencie tak jak pisałem Ci kilka dni temu dodajesz zmianę na 0. Tyle, jeśli tego nie rozumiesz polecam kurs js a jeśli nie to jquery.


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
dela
post 12.10.2011, 20:10:39
Post #6





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 16.06.2009

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


Dzięki @ShadowD za wskazówki oczywiście poleciał już (+). Powiedz mi ostatnia rzecz czy ten return $animate to trafiont pomysł i czy ogólnie ten skrypt ma ręce i nogi
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $(".menu-button-add").hide();
  3.  
  4. var $animate = false;
  5. $("#button-add").click(function (){
  6. if ($animate == false) {
  7. $(".buttons").animate({"top": "-=35px"}, 150);
  8. setTimeout(function(){
  9. $(".buttons").fadeOut(50)}, 50);
  10. setTimeout(function(){
  11. $(".menu-button-add").fadeIn(150)}, 180);
  12. return $animate = true;
  13. }
  14. });
  15.  
  16. $('#[title=undo]').click(function () {
  17. if ($animate == true) {
  18. $(".menu-button-add").fadeOut(130), 180;
  19. setTimeout(function(){
  20. $(".buttons").fadeIn(50)}, 180);
  21. setTimeout(function(){
  22. $(".buttons").animate({"top": "+=35px"}, 150)}, 180);
  23. return $animate = false;
  24. }
  25. });
  26. });
  27.  
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
ShadowD
post 13.10.2011, 17:08:20
Post #7





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Nie, to nie ta bajka - takie coś raczej nie naprawi Twojego problemu, w ogóle dziwnie to wymyśliłeś, czytałeś co Ci pisałem dokładnie? snitch.gif

Kod
var animate=0

$(function(){
    $('#clickme').click(function() {
        if(animate==0){
            animate=1
            
            $('#book').animate({
                opacity: 0.25
            }, 5000, function() {
                // Animation complete.
                animate=0
            })
        }
    })
})


Ps. Twój kod po pierwszym kliknięciu zablokuje przycisk na wieki. :-)

Ten post edytował ShadowD 13.10.2011, 17:10:19


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
dela
post 13.10.2011, 18:44:11
Post #8





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 16.06.2009

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


Śmiechem, żartem ale to co napisałem działa i nie blokuje przycisku na wieki smile.gif skrypt uniemożliwia wielokrotnemu kliknięciu.
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 Wersja Lo-Fi Aktualny czas: 12.07.2025 - 12:17