zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Horizontaler Scroll mit DIVs und Breite über Javascript

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 13.08.2010, 21:37
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.05.2010
Beiträge: 5
kolarsky befindet sich auf einem aufstrebenden Ast
Frage Horizontaler Scroll mit DIVs und Breite über Javascript

Hallo liebe Community,

ich weiß, der Titel hört sich nach "...und täglich grüßt das Murmeltier" an, aber ich hab jetzt etlich Stunden Suche hinter mir und leider noch nicht wirklich eine befriedigende Antwort/Lösung gefunden...

Hier im Forum auch schon ein Thema gefunden, welches im Prinzip mein Problem genau trifft, aber auch damit hatte ich kein Glück. (Artikel)

Also nochmal meine Problemstellung:
Ich möchte eine Seite aufbauen, die horizontal scrollt. Die Seite enthält ein umschließendes DIV und darin liegen mehrere DIVs - hier kommt immer mal wieder ein neues dazu. Die Breite des umschließenden DIVs kann ich natürlich auch jedesmal aufs Neue im CSS anpassen, würde aber gerne die Gesamtbreite aller enthaltenen DIVs per Javascript auslesen lassen und dann dem umschließenden DIV die entsprechende Breite zuweisen.

Mit dem angepassten Script aus o.g. Artikel sieht die Seite so aus:
Testseite
Lustigerweise funktioniert der Javascript-Scroller noch...

Eigentlich sollte die Breite im HEAD mit der Funktion 'AutoSize' ermittelt werden und dann dem DIV 'content' zugewiesen werden.
---
Edit: Ich habe auch in der Funktion, bzw. beim Funktionsaufruf im BODY ein alert(length); eingebaut und bekomme 0 (also Null) ausgespuckt...
---

Kann mir da jemand nen Tipp geben, wie man das umsetzen kann? Ich verlier da so ein wenig den Überblick...

Danke schonmal
Ralf

Geändert von kolarsky (14.08.2010 um 10:26 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 16.08.2010, 11:18
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.05.2010
Beiträge: 5
kolarsky befindet sich auf einem aufstrebenden Ast
Lächeln Lösung gefunden mit ein wenig Hilfe...

Also:
nachdem ich leider mit dem Script keinen Erfolg hatte, hab ich mir noch ein wenig Unterstützung geholt. Nachdem wir dann festgestellt hatten, dass ich im HEAD bereits jQuery eingebunden hatte, haben wir kurzerhand nach den Möglichkeiten geschaut, über die JQ-Bibliotheken dem DIV die Breite zuzuweisen. Und das hat dann auch prima geklappt.

Der Code schaut final so aus:

...
<script type="text/javascript">
function AutoSize() {
var container = document.getElementById('content');
var elements = container.getElementsByTagName('div');
var length = 0;
for (var elementIndex = 0; elementIndex < elements.length; elementIndex++) {
var element = elements[elementIndex];
length = length + (element.offsetWidth + 2);
}
$(container).css('width',length);
}
</script>
</head>
<body onload="AutoSize()">
...

In der zweiten Scriptzeile muss dann noch 'content' durch den eigenen DIV-ID ersetzt werden und bei der Berechnung von length musste ich ein +2 einbauen, da meine DIVs links und rechts einen Margin von 1px haben.

Dann gabs noch das Problem, dass die Seite erstmal alle DIVs untereinander lädt und am Ende alles auf eine Zeile schubst, da ja erst dann quasi die finale Breite feststeht.
Hier gabs dann auch noch n kleines Workaround: Im CSS dem DIV 'content' eine seeeehr große Breite geben, die dann nach dem Laden auf die richtige Breite eingestellt wird.

Hoffe, damit konnte ich ein wenig zur Community beitragen.

Beste Grüße
Mit Zitat antworten
Sponsored Links
Antwort

Stichwörter
breite, div, horizontal, javascript, scrollen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
100% Höhe von Divs klappt einfach nicht. icecold CSS 10 24.09.2010 11:25
3 Divs, links u. rechts dynamisch - mitte feste breite donhoolio CSS 3 04.04.2005 16:59
Flexible Breite bei DIVs tigersclaw CSS 2 17.12.2004 16:04
Zwei Divs nebeneinander Floaten, einer mit fester Breite Phil CSS 0 20.07.2004 20:48
Breite von DIVs Daniel CSS 8 23.06.2003 19:01


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:47 Uhr.