2010-02-25 4 views
10

ich folgende Konfiguration haben:jQuery - Set div Breite um es zusammenzufassen Kinder

html:

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

css

#holder { width: 800px; } 

jetzt, ich möchte jQuery Galerie machen und bewegen Bildreihe nach links und rechts mit negativem margin-left von innerem Div.

Allerdings muss ich <img/> s sagen, um nach links zu schweben und innere divs width zur Summe der Breiten der Bilder einzustellen.

Wie kann ich das sauber und schön machen?

danke

Antwort

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

//alert(sum); 

dies den Trick tun sollte ..

Der Schwimmer auf die Bilder, können Sie es mit CSS

#holder img{float:left;} 
+1

der Schwimmer anwenden kann, ist nicht wirklich, Problem, aber gute Antwort :) –

+1

@Adam, ja, ich war mir nicht sicher, ob Sie das wollten .. aber in der gleichen Zeile in der Frage, fügte ich es als Bonus hinzu :) –

+0

das spart mir eine Menge Probleme s mit Übersetzung in meinem Blog! – TCB13