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?
-
05-10-2019 - |
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
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");