Xiper: teration? Rekursion? Schleife? - Spalten (DIV) editieren

Ich habe hier ein JS, was mir die maximale Höhe von 5 Spalten ausliest und dann alle auf eine gleiche Höhe bringt!

<script type="text/javascript">
function layout_colheight()
{
var a = document.getElementById("spalte1").scrollHeight;
var b = document.getElementById("spalte2").scrollHeight;
var c = document.getElementById("spalte3").scrollHeight;
var d = document.getElementById("spalte4").scrollHeight;
var e = document.getElementById("spalte5").scrollHeight;
if ( a > b )
{
document.getElementById("spalte1").style.height = a+'px';
document.getElementById("spalte2").style.height = a+'px';
document.getElementById("spalte3").style.height = a+'px';
document.getElementById("spalte4").style.height = a+'px';
document.getElementById("spalte5").style.height = a+'px';
}
if ( b > c )
{
document.getElementById("spalte1").style.height = b+'px';
document.getElementById("spalte2").style.height = b+'px';
document.getElementById("spalte3").style.height = b+'px';
document.getElementById("spalte4").style.height = b+'px';
document.getElementById("spalte5").style.height = b+'px';
}
if ( c > d )
{
document.getElementById("spalte1").style.height = c+'px';
document.getElementById("spalte2").style.height = c+'px';
document.getElementById("spalte3").style.height = c+'px';
document.getElementById("spalte4").style.height = c+'px';
document.getElementById("spalte5").style.height = c+'px';
}
if ( d > e )
{
document.getElementById("spalte1").style.height = d+'px';
document.getElementById("spalte2").style.height = d+'px';
document.getElementById("spalte3").style.height = d+'px';
document.getElementById("spalte4").style.height = d+'px';
document.getElementById("spalte5").style.height = d+'px';
}
if ( e > a )
{
document.getElementById("spalte1").style.height = e+'px';
document.getElementById("spalte2").style.height = e+'px';
document.getElementById("spalte3").style.height = e+'px';
document.getElementById("spalte4").style.height = e+'px';
document.getElementById("spalte5").style.height = e+'px';
}
}

Ich hätte nun gerne, dass dieses Script mit beliebig viele Spalten umgehen kann! Ich habe leider kaum AHnugn von JS und bin damit auf eure Hilfe angewiesen!

  1. hi,

    Ich habe hier ein JS, was mir die maximale Höhe von 5 Spalten ausliest und dann alle auf eine gleiche Höhe bringt!

    Mit einem erschreckenden Maß an Redundanz :-)

    Ich hätte nun gerne, dass dieses Script mit beliebig viele Spalten umgehen kann!

    Dann solltest du die Spalten zunächst mal in einer Schleife durchlaufen, und dabei das Maximum der Höhen ermitteln. (Wenn scrollHeight einen String liefert, wäre da vermutlich erst mal eine Umwandlung der Werte in "echte" Zahlen erforderlich, damit die Methode damit umgehen kann.)
    Für diese Schleife bieten sich vielleicht andere Möglichkeiten des Zugriffs eher an, als über die ID - per getElementsByTagName unterhalb eines Vorfahrenknotens, oder bei einer Tabellenzeile auch über die Knotenliste cells.

    Anschliessend machst du dann noch eine zweite Schleife, in der du einfach allen Spalten das eben ermittelte Maximum der Höhen als neue Höhe zuweist.

    Ich habe leider kaum AHnugn von JS und bin damit auf eure Hilfe angewiesen!

    Die obigen Stichworte sollten dir Ansatzpunkte liefern - mit den Grundlagen wirst du dich darüber hinaus noch ein wenig selber beschäftigen müssen. Das Javascript-Kapitel von SELFHTML hilft dir aber auch dabei sicher weiter.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }