2011-11-06 4 views
12

J'essaie d'animer un Div a top:275.jQuery Animate top (De bas en haut)

J'ai essayé .animate({marginTop: -820 } mais sur chaque écran il se retrouve dans une position différente. . .

Donc j'ai changé le marginTop à .animate({top: 275} mais le div vient du haut vers le bas (slidedown). Notez que, donc je peux utiliser le animate:top je devais mettre la div à position:absolute pendant l'animation. . .

Y a-t-il un hackyway pour que le dessus vienne du bas vers le haut ou que le marginTop ait la même distance depuis le haut sur chaque résolution d'écran? (je suppose que margintop ne peut pas être résolu puisque je mets la marge supérieure à -820 pour atteindre un point haut: 275, donc des écrans plus petits que 1200px hauteur, le div ira beaucoup plus haut ...)

Voici mon code:

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

Répondre

29

Ah Trouvé !!

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

Donc, fondamentalement, je me suis fixé en haut de la css à fin pour 1000, puis animé à 275 qui est en ...

+1

+1 fanks beastie! J'avais besoin de mon dialogue pour glisser d'une manière différente vers slideDown(). J'ai utilisé: \t \t 'var height = $ dialog.outerHeight(); \t \t $ dialogPane.show() \t \t \t Css ({haut: hauteur * -1}) \t \t \t .animate ({top: -1}, 400, function() { \t \t \t \t // rappel \t \t \t}); ' – Evildonald

Questions connexes