Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MooTools], Koniec wykonywania Fx.Tween
Xeor^
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Częstochowa

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


Mam taki kod:


CODE
this.tween('background-position', bp_left+" "+bp_top);


który jest wykonywany po kliknięciu przycisku na klawiaturze, problem polega na tym, że jak ktoś kilka razy kliknie klawisz, to tło zostanie przesunięte nie od zakończenia poprzedniej wartości lecz od momentu w którym kliknie. Jak sprawić by ten kod się nie wykonał dopóki nie zostanie wykonany ostatni Tween? Domyślam sie że to banalne pytanie, ale nie wiem jak to ugryźć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ja bym na twoim miejscu dorzucił obsługe zdarzenia complete dla tego eventu. I wygladaloby to tak
1) Na początku element nie ma żadnej klasy
  1. <div></div>

2) Po kliknięciu sprawdzamy czy element zawiera klasę animated. Jeżeli tak to nic dalej nie robimy. W przyciwnym wypadku idziemy dalej
3) Dodajemy do niego klase i animujemy. W tym ze do animacji dodajemy zdarzenie complete w którym usuwamy klase "animated" dla danego elementu
  1. <div class="animated"></div>

4) na koncu nasz element znowu bedzie taki sam jak na poczatku
  1. <div></div>


Nie znam mootools bardzo dobrze i w dokumentacji nie znalazłem metody typu "isTweened" do sprawdzenia czy element jest animowany (CAURINA TWEENER WINS), wiec taka opcja wydaje mi sie dosc dobra.

//Aha. NIE TEN dział.

Ten post edytował wookieb 30.07.2009, 11:04:59
Go to the top of the page
+Quote Post
Xeor^
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Częstochowa

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


Kod
     var myFx = new Fx.Tween('myDiv');     myFx.start('background-position', bp_left+" "+bp_top);
     myFx.complete = function(){
         alert("koniec");
      
         };



Ten kod działa, tylko jeden problem jest, funkcja ALERT wykonuje się w nieskończoność po skończonym Tweenie. Potrzeba mi biblioteki która płynnie zmieni mi Background-position: 100 100; << w takiej formie na dowolną inną, nie musi to być mootools, jakieś propozycje?
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




jquery z dodatkiem do zmiany background position.
http://www.corrupt-system.de/jquery/backgroundPosition/
Go to the top of the page
+Quote Post
Xeor^
post
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Częstochowa

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


świetnie, przyjemniejszy jest jQuery, ale znowu mam problem,

Kod
$('#myDiv').animate({backgroundPosition: bp_left + " " + bp_top});


Przy takim kodzie płynnie animuje mi tylko w lewo i w prawo, natomiast w górę i w dół przeskakuje na "sztywno".
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A napewno użyłes poprawnie tego dodatku co podałem?
Go to the top of the page
+Quote Post
Xeor^
post
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Częstochowa

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


Już działa zamiast:

Kod
backgroundPosition: '('+ bp_left + ' ' + bp_top + ')'


wpisywałem:

Kod
backgroundPosition: (bp_left + ' ' + bp_top)
.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 20:06