2010-02-25 12 views
10

He siguiente configuración:jQuery - establecer anchura div a suma de sus hijos

html:

<div id="holder"> 
    <div> 
    <img/> 
    <img/> 
    </div> 
</div> 

css

#holder { width: 800px; } 

Ahora, quiero hacer la galería jQuery y se moverán línea de imágenes a la izquierda y derecha con margin-left negativo de div interior.

Sin embargo, tengo que decir <img/> s para flotar a la izquierda y establecer div interna width a la suma de anchuras de las imágenes.

¿Cómo puedo hacer esto de una manera limpia y agradable?

gracias

Respuesta

21
var sum=0; 
$('#holder img').each(function(){ sum += $(this).width(); }); 
$('#holder > div').width(sum); 

//alert(sum); 

esto debe hacer el truco ..

El flotador a las imágenes, se puede aplicar con CSS

#holder img{float:left;} 
+1

el flotador no es en realidad, un problema, pero buena respuesta :) –

+1

@ Adam, sí, no estaba seguro de si quería eso ... pero al estar en la misma línea en la pregunta lo agregué como bonificación :) –

+0

esto me ahorra un montón de problemas s con traducción en mi blog! – TCB13

Cuestiones relacionadas