[jQuery-es] Overflow de texto en efectos
Choan C. Gálvez
choan.galvez en gmail.com
Mie Dic 20 10:56:31 PST 2006
Jelou, tocayo.
On 12/13/06, Juan G. Hurtado <juan.g.hurtado en gmail.com> wrote:
> Buenas,
>
> tengo un pequeño problema con las animaciones. Explico:
>
> - Uso show('slow') para mostrar un DIV con fondo y borde, etc.
> - Dentro de ese DIV tengo un enlace que muestra un contenido generado
> en el javascript.
> - Ese contenido que genero y muestro, se sale del DIV.
>
> En IE6 no pasa este fallo, pero en Firefox, Safari, etc. sí. ¿Teneis
> alguna sugerencia? Adjunto el código.
Te describo el problema y tú pones la solución, ¿vale?
Cuando se usan los métodos `show` (con velocidad), `slideDown` y algún
otro que no me viene a la cabeza, lo que hace jquery es aplicar
`height` mediante estilos desde 0 hasta la altura total del elemento.
El problema es que esa altura total del elemento se da en píxeles.
Ahora... cuando el elemento _crece_, Explorer se comporta según sus
feas costumbres y se pasa la altura asignada por el forro de los
mismos. Los navegadores _más mejores_ hacen lo que tienen que hacer y
respetan la altura asignada.
Entonces... opciones...
1. usas un callback que asigne `height: auto` al elemento (o quizá
mejor dejar el height en blanco);
2. antes de añadir el elemento, asignas el `height: auto`
3. actualizas la versión de jQuery, yo juraría que en las últimas ese
bug está corregido.
Salud.
--
Choan
Scriptia. Javascript y buenas prácticas en español.
<http://blog.scriptia.net/>
Más información sobre la lista de distribución jquery-es