2012-06-06 43 views
7

Tengo dos DIV: un DIV cambia dinámicamente de tamaño según el navegador (diseño receptivo) y quiero que el otro DIV modifique su altura en función de la altura del primer DIV. Pensé que la manera más fácil de hacer esto sería usar JQuery para cambiar dinámicamente la altura.JQuery: Cambiar la altura según otro elemento

He intentado lo siguiente:

$('section#div2').css({height:$(this).css('height').replace($('section#div1 div.div1_container').height()+'px')}); 

Sin embargo, ese código no está funcionando. Tampoco hay otras versiones de eso funcionando.

Mi pregunta es: ¿cómo puedo reemplazar una sola propiedad de CSS sin cambiar todas las propiedades de un elemento dado?

EDIT: Esta es la forma de codificar la primera DIV dinámico ...

El primer recipiente de la primera DIV:

position: relative; 
padding-bottom: 50%; 
padding-top: 30px; height: 0; overflow: hidden; 
margin:0 0.7em 0 0.7em; 

Entonces, el objeto interno dentro de ese contenedor (puede que no sea importante):

position:absolute; 
top:0; 
left:0; 
width:100%; 
height:100%; 

Respuesta

7
$('section#div2').css('height', $('section#div1').height()+'px'); 
+0

Intenté esto y todavía no funcionó. Voy a actualizar la pregunta con el código dinámico para el primer div en caso de que tenga algún impacto ... Básicamente, cuando probé el código que enumeró, fue el mismo resultado, sin cambio en la altura cuando la página era cargado. – Justin

+0

El marcado HTML es en realidad un poco más importante. He actualizado jQuery con lo que creo que estás tratando de hacer, básicamente quieres que la altura de la sección # div2 sea la misma que la sección # div1 ¿correcta? –

+0

Sí, pero eso todavía no funciona. Creo que el problema puede ser la forma en que se codifica el primer DIV, ya que la altura es técnicamente cero. Pero, traté de configurarlo igual al DIV interno también (que es 100%) y todavía no funciona ... ¡Gracias por las ideas hasta ahora! – Justin

2

Utilice esta:

$('section#div2').height($('section#div1').height()); 
+0

No estoy seguro de lo que quieres decir con este ... ¡lo siento! – Justin

+0

Sólo pruébalo? Estas son funciones de altura jquery que establecen y obtienen altura. Esa línea es todo lo que necesitas. – Will

+0

Sí, pero no hace referencia al primer DIV en absoluto, entonces, ¿cómo conseguiría esa altura? Lo intenté y no hizo nada. ¿Quisiste incluir esto en mi selector CSS arriba en alguna parte? – Justin

Cuestiones relacionadas