JQUERY, div con una altura fija (con una barra de desplazamiento) cómo animar hasta que crece a ya no necesita una barra de desplazamiento?

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

Pregunta

JQUERY, div con una altura fija (con una barra de desplazamiento) cómo animar hasta que crece a ya no necesita una barra de desplazamiento?

Tengo un div en una página con una altura de CSS:. 200px entorno, lo que hace que el DIV tiene una barra de desplazamiento vertical, que permite al usuario desplazarse a través de un montón de texto

Me gustaría animar el DIV para expandirse en altura hasta que se muestre todo el contenido del div, lo que significa no más barra de desplazamiento

He intentado lo siguiente:

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

pero eso no funcionó, mientras que esto hace:

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

problema con esto es el tamaño del texto en el DIV es variable. Ideas?

Gracias

¿Fue útil?

Solución

Lo que puede hacer:

Configurar la altura de auto, a continuación, registrar la offsetHeight. Cambie de nuevo a la altura de lo que era de inmediato -. Los usuarios no podrán ver el cambio en absoluto ya que los navegadores son de un solo subproceso

A continuación, utilice jQuery (o no) para animar a esa altura grabado.

Ejemplo:

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");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top