2010-02-25 10 views
10

Mam następujących konfiguracji:jQuery - zestaw div szerokość podsumować go dziecięcego

html:

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

css

#holder { width: 800px; } 

Teraz chcę zrobić galerię jQuery i ruszy linia obrazów po lewej i prawej stronie z ujemnym margin-left wewnętrznego div.

Jednak muszę powiedzieć <img/> s, aby unosić się w lewo i ustawić wewnętrzną div's width na sumę szerokości obrazów.

Jak mogę to zrobić w sposób czysty i przyjemny?

dziękuję

Odpowiedz

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

//alert(sum); 

to powinno załatwić sprawę ..

Pływak do obrazów, można stosować go z css

#holder img{float:left;} 
+1

pływak nie jest tak naprawdę, problem, ale dobra odpowiedź :) –

+1

@Adam, tak, nie byłem pewien, czy tego chciałeś .. ale będąc w tej samej linii w pytaniu dodałem go jako bonus :) –

+0

to zaoszczędzić mi dużo problemu s z tłumaczeniem na moim blogu! – TCB13