Hallo Forum,
ich bin noch Anfänger in JavaScript und habe zwei Probleme.
- Ich habe folgende Funktion geschrieben:
function dehnen(maxhoehe) {
hoehe += 10;
document.all.menu.style.height = hoehe;
document.all.menu2.style.height = hoehe;
if (hoehe < maxhoehe) {
setTimeout("dehnen(maxhoehe)", 500);
}
}
menu und menu2 sind zwei <div>-elemente die direkt übereinander liegen, hoehe ist eine globale Variable. Aufgerufen wird die Funktion mit dehnen(200); hoehe wird zuvor auf 0 gestellt.
Dann bekomm ich immer den folgenden Fehler:
Zeile: 0
Feler: 'maxhoehe' ist undefiniert
- In jedem dieser beiden <div> liegt je eine Tabelle. Selbst wenn ich Height von den <div> auf 0 setze seh ich immer noch die kompletten Tabellen. Ich hab gehört man kann es so einstellen, dass der Inhalt der <div>-Elemente sich deren Größe anpasst. Wie geht das?
Hallo Dominik,
zu 1.: verwende setTimeout("dehnen("+maxhoehe+")", 500); in der Funktion
zu 2.: div-Objekte werden automatisch auf die Größe gebracht, daß der Inhalt reinpaßt. Es gibt aber die Möglichkeit mit style='overflow:hidden' (klappt glaub ich nur bei Text) bzw. mit der style-Angabe clip (Achtung: unterschiedliche Syntax bei IE und Netscape) die gewünschten Resultate zu erzielen
MfG Lutz T.