Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Problem z metodą animacji animate()
peja1990
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

Ostrzeżenie: (10%)
X----


Witam,
mam pewien problem z animacją.
Pozwolę sobie od razu przedstawić kod prościutkiej funkcji:
  1. function showOptions(e = "div", status = "expand" height = 100) {
  2. // Ustalam wysokość diva
  3. if(!height || height == 0) {
  4. return $(e).children('.options').height();
  5. }
  6. if(status == "expand") {
  7. $(e).children('.options').css('height', '0px').show().animate({
  8. height : '+=' + height // No i tutaj cały problem !
  9. });
  10. }
  11. }


Problem polega na tym, że gdy kilkukrotnie wykonam szybko funkcję (mouseover / mouseout) to wysokość czyli zmienna 'height' zaczyna się powiększać czego nie chcę i w tym cały mój problem...
Wiadomo, że mój problem rozwiązałaby zmiana metody animacji np. na show() ale zależy mi by zostać przy zastosowanej metodzie dlatego proszę Was o pomoc.
Macie jakieś pomysły ?
Z góry bardzo dziękuję.

---
Serdecznie pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lobopol
post
Post #2





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

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


Trochę już przysypiający jestem, ale proszę:
-wyważanie muru masz metodę slideup i slidedown
-niepotrzebny live
-dziwne używanie funkcji *jak już bym miał tak robić użyłbym 2)

takie majaki przysypiającej osoby http://jsfiddle.net/fvzFg/5/ ogólnie do poprawki jeżeli mamy użyć to na wielu elementach, ale tylko drobnych (data dodałem bo już nie myślę)
Go to the top of the page
+Quote Post
peja1990
post
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

Ostrzeżenie: (10%)
X----


Cytat(lobopol @ 27.04.2012, 22:51:25 ) *
Trochę już przysypiający jestem, ale proszę:
-wyważanie muru masz metodę slideup i slidedown
-niepotrzebny live
-dziwne używanie funkcji *jak już bym miał tak robić użyłbym 2)

takie majaki przysypiającej osoby http://jsfiddle.net/fvzFg/5/ ogólnie do poprawki jeżeli mamy użyć to na wielu elementach, ale tylko drobnych (data dodałem bo już nie myślę)



Dzięki, a ja w tym czasie napisałem coś takiego i też działa (IMG:style_emoticons/default/smile.gif)
http://jsfiddle.net/fvzFg/6/

Czemu live() ?
W tym kodzie nie ma tego co jest w rzeczywistości ;P
W bloku, na który najeżdżasz są jeszcze dwa inne bloku i by funkcja nie wykonywała się w tym przypadku 3 razy tj. w przypadku mouseover(), potrzebujemy metody live() (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 21:14