2011-11-06 26 views
12

Sto tentando di animare un Div a top:275.jQuery Animate superiore (dal basso verso l'alto)

Ho provato .animate({marginTop: -820 } ma su ogni schermata finisce in una posizione diversa. . .

Quindi ho modificato il margine su .animate({top: 275} ma il div viene dall'alto verso il basso (slidedown). Nota che, così posso usare il animate:top ho dovuto impostare il div a position:absolute durante l'animazione. . .

C'è qualche hackyway per far sì che la parte superiore provenga dal basso verso l'alto o che il margine abbia la stessa distanza dall'alto in ciascuna risoluzione dello schermo? (suppongo che Margintop non possa essere risolto da im impostando il margine superiore a -820 per raggiungere un punto di top: 275, quindi schermi più piccoli di 1200px di altezza, il div sarà molto più alto ...)

Ecco il mio codice:

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

risposta

29

Ah Trovato!

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

Quindi, in pratica ho impostato la parte superiore dal CSS proprio alla fine di 1000, poi animato a 275 che è fino ...

+1

+1 fanks beastie! Avevo bisogno che la mia finestra di dialogo scivolasse verso il basso in un modo diverso per slideDown(). Ho usato: \t \t 'var height = $ dialog.outerHeight(); \t \t $ dialogPane.show() \t \t \t css ({top: altezza * -1}) \t \t \t .animate ({top: -1}, 400, function() { \t \t \t \t // callback \t \t \t}); ' – Evildonald

Problemi correlati