Animate de jQuery pourcentage de la hauteur de

Quand je suis en train d'animer pourcentage, ce n'est pas l'animation, mais élargir à l'ensemble de la hauteur instantanément. Je le veux pour augmenter à 100%, mais en douceur

CSS:

#block-views{
overflow:hidden;
height:20px;
}

HTML:

<div id="block-views">
    1<br/>
    2<br/>
    3<br/>
    4<br/>
    5<br/>
    6<br/>
    7<br/>
    8<br/>
    9<br/>
    10<br/>
</div>
<a href="#" class="loadmore">Load more</a>

Jquery code:

$(function() {
    $( ".loadmore" ).toggle(
        function() {
            $( "#block-views" ).animate({
                height: "20px",
            }, 1000 );
        },
        function() {
            $( "#block-views" ).animate({
                height: "100%",
            }, 1000 );
        }

    );
});

Quand je clique sur charger plus, il se dilate à 100% instantanément, pas en douceur, mais quand je clique une deuxième fois, il diminue la taille de 20 px en douceur. J'ai essayé de regarder l'expansion de processus dans google Chrome, inspecteur de l'outil et je peux clairement voir que le pourcentage est de l'ajout de douceur, mais les chiffres ne sont pas des entiers, et Chrome ne semble pas le reconnaître. Comment puis-je résoudre ce problème?

essayez de changer height: "100%" à height: $(this).parent().height(). jQuery est un moment difficile la comparaison de pourcentages et de pixels, de sorte que vous devriez faire à la fois du calcul en pixels.

OriginalL'auteur George | 2012-08-03