2010-02-25 7 views
10

Ho seguente configurazione:jQuery - insieme larghezza div per riassumere del suo figli

html:

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

css

#holder { width: 800px; } 

ora, voglio fare la galleria jQuery e si muoveranno linea di immagini a sinistra ea destra con margin-left negativo di div interno.

Tuttavia, devo dire a <img/> s di flottare a sinistra e impostare width div interno per la somma delle larghezze delle immagini.

Come posso farlo in modo pulito e piacevole?

grazie

risposta

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

//alert(sum); 

questo dovrebbe fare il trucco ..

Il galleggiante alle immagini, è possibile applicarlo con i CSS

#holder img{float:left;} 
+1

il galleggiante non è davvero, problema, ma buona risposta :) –

+1

@Adam, sì non ero sicuro se volevi che .. ma essendo nella stessa riga nella domanda l'ho aggiunto come bonus :) –

+0

questo mi ha salvato un sacco di problemi s con traduzione nel mio blog! – TCB13

Problemi correlati