2010-04-27 7 views
1

Tout ce que je veux faire est sur .click() est .animate #slip, essentiellement Im changer le css au moment de top: 10px to top: 0pxjquery Animer - mort simple

Au lieu d'être tout à fait maladroit je voudrais animer le mouvement du changement de CSS.

utilisent actuellement .toggleClass pour y parvenir:

$("#div1").click(function() { 
     $("#div2t").toggleClass('min'); 
    }); 

Répondre

4

Vous pouvez animer comme ceci:

$(selector).click(function() { 
    $("#slip").animate({ top: 0; }); 
}); 

Sauf si vous avez besoin du .animate conteneur, laissez-le ... le sélecteur d'ID est, bien, aussi vite qu'il obtient :)

Si vous voulez que le clic pour l'animer de nouveau tous les click ainsi, utiliser .toggle() comme ceci:

$(selector).toggle(function() { 
    $("#slip").animate({ top: 0; }); 
}, function() { 
    $("#slip").animate({ top: 10; }); 
}); 
+0

Ceci correspond définitivement à la question actuellement mise à jour +1 – ant

+0

@David - '.slideUp()' /'.slideDown() '** cacher ** et ** montrer ** l'élément, ne pas le repositionner , ils servent un but différent. Si vous vouliez cet effet, je ne les utiliserais pas :) ... parce qu'il y a aussi '.slideToggle()'. –

+0

oh yah. heu ... je ne devrais pas poster sur SO tôt le matin ... j'ai besoin de caféine. haha. –

0

Si je vous ai bien compris:

#CSS: 
.animate #slip { 
    top: 10px; 
} 

#JS 
$("element").click(function() { 
    $(".animate #slip").animate({ top: 0 }); 
}); 
0
$("#div1").click(function(){ 
$("#div2t").animate({"top":"0px"},"slow"); 
); 

Si lente est la vitesse, vous pouvez le mettre rapidement ou de temps en millisecondes sans ""