Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] pauza animacji, i wznowienie bez zmiany czasu trwania
pawkow
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

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


Witam serdecznie

Wykonuję sobie prostą funkcję js w taki sposób:

Kod
    function anim_partnerzy(repos)
     {
         if (repos == true) {$("#partnerzy").css('left', 623);}
        
         $("#partnerzy").animate({left: '-623'}, 7000, "linear", function(){
             anim_partnerzy(true);
         });
     }


i teraz chcę w pewnej chwili zrobić w taki sposób, aby po wznowieniu czas wykonywania animacji nie ulegał zmianie. W jaki sposób mogę zrobic to najprościej? To znaczy: pauza po 5 sekundach animacji - niech animacja nie trwa po wznowieniu kolejnych 7 sekund ale tylko 2.

Ten post edytował pawkow 16.04.2009, 20:38:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Na pewno musisz użyć $().stop(). winksmiley.jpg

Nie jest w sumie tak trudno, trzeba tylko ciut pogłówkować:
  1. zapisujesz w jakiejś zmiennej start (w ms)
  2. przy zatrzymaniu animacji znów pobierasz czas w ms - odejmujesz to od 7000ms - zostanie Ci wtedy, ile jeszcze ma trwać animacja
  3. sprawdzasz, ile px się przesunął obiekt
  4. uruchamiasz ponownie animację na sprawdzony czas i 623px-przesunięcie.


--------------------

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!
Go to the top of the page
+Quote Post
pawkow
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

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


W sumie to już sobie poradziłem, może w troszkę bardziej prymitywny sposób, ale obyło się bez dodatkowych zmiennych, działa dobrze, nie co do milisekundy ale różnicę trudno dostrzec.

Kod
    function anim_partnerzy(repos)
    {
        if (repos == true)
        {
            $("#partnerzy").css('right', -623);
            czas = 15000;
        }
        
        $("#partnerzy").animate({right: 623}, czas, "linear", function(){
            anim_partnerzy(true);
        }, false, false);
            
    }
    
    $(function() {
        
        anim_partnerzy(true);
        
        $("#partnerzy_c").hover(function(){
            $("#partnerzy").stop(true, false);
        }, function(){
            anim_partnerzy(false);
            czas = parseInt(7500*(623-parseInt($("#partnerzy").css('right')))/623);
        });
        
    });
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: 22.08.2025 - 10:04