2011-11-06 12 views
12

Próbuję animować Div a top:275.jQuery Animuj górę (od dołu do góry)

Próbowałem .animate({marginTop: -820 }, ale na każdym ekranie kończy się w innej pozycji. . .

Więc zmieniłem margines Top na .animate({top: 275}, ale div pochodzi z góry na dół (przesunięty). Zauważ, że mogę użyć funkcji animate:top. Podczas animacji musiałem ustawić div na position:absolute. . .

Czy są jakieś hackiki, które powodują, że góra pochodzi od dołu do góry, czy też margines górny ma taką samą odległość od góry do każdej rozdzielczości ekranu? (Zakładam, że margintop nie może być rozwiązany, ponieważ ustawiam margines górny na -820, aby uzyskać punkt w górnej części: 275, dlatego ekrany mniejsze niż 1200px, div pójdzie znacznie wyżej ...)

Oto mój kod:

$("#features").fadeIn() 
      .css({ 
       position: 'absolute' 
      }).animate({ 
       top: '275' 
      }, function() { //callback }); 

Odpowiedz

29

Ah Znaleziono!

$("#features").fadeIn() 
.css({top:1000,position:'absolute'}) 
.animate({top:275}, 800, function() { 
    //callback 
}); 

Więc w zasadzie mam ustawione na szczyt z css na samym końcu do 1000, następnie animowane go do 275, który jest aż ...

+1

+1 fanks beastie! Potrzebowałem mojego okna dialogowego, aby zjechać w inny sposób niż slideDown(). Użyłem: \t \t 'var height = $ dialog.outerHeight(); \t \t $ dialogPane.show() \t \t \t .css ({góra: wysokość * -1}) \t \t \t .animate ({góry -1}, 400, funkcja() { \t \t \t \t // callback \t \t \t}); ' – Evildonald

Powiązane problemy