JQUERY, div avec une hauteur fixe (avec une barre de défilement) comment Animer jusqu'à ce qu'il pousse à ne plus besoin d'un barre de défilement?

StackOverflow https://stackoverflow.com/questions/2937556

Question

JQUERY, div avec une hauteur fixe (avec une barre de défilement) comment Animer jusqu'à ce qu'il pousse à ne plus besoin d'un barre de défilement?

J'ai un div sur une page avec une hauteur CSS. Réglage 200px, ce qui rend la DIV ont une barre de défilement vertical, ce qui permet à l'utilisateur de faire défiler un tas de texte

Je voudrais animer la DIV pour développer en hauteur jusqu'à ce que tout le contenu du div est affichée, ce qui signifie plus la barre de défilement

J'ai essayé le suivant:

$("#view-container").animate({"height": "auto"}, "slow");

mais cela ne fonctionne pas alors que ce fait:

$("#view-container").animate({"height": "1000px"}, "slow");

problème qui est la taille du texte dans la DIV est variable. Idées?

Merci

Était-ce utile?

La solution

Qu'est-ce que vous pouvez faire:

Régler la hauteur à auto, puis enregistrer la offsetHeight. Changer l'arrière de la hauteur à ce qu'il était immédiatement -. Les utilisateurs ne voient pas le changement à tous les navigateurs sont un seul thread

Ensuite, utilisez jQuery (ou non) Animer à cette hauteur enregistrée.

Exemple:

var vc = document.getElementById('view-container');
var vcold = vc.style.height;
vc.style.height = 'auto';
var vcheight = vc.offsetHeight;
vc.style.height = vcold;
$("#view-container").animate({"height": vcheight + "px"}, "slow");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top