Hilfe bei dynamischer Breite
julia
- javascript
1 function Breite ()
{
var Breite = window.innerWidth - 70 - 150
if (Breite < 300)
{Breite = 300;
5 document.getElementsByTagName("td")[1].width = Breite;
} else
{document.getElementsByTagName("td")[1].width = Breite;
}
}
<body onload="Breite ()">
Ich möchte das die Breite der mittleren Taballenzelle je nach Größe des Browserfensters unterschiedlich groß ist. Nicht kleiner als 300.
Die linke tabellenspalte ist 150 die rechte 70 groß.
Fehlermeldung:
ungültiges Argument in Zeile 7
ich hoffe mir kann jemand helfen es können auch Lösungen mit id sein aber da bin ich auch steckengeblieben.
Hallo julia,
document.getElementsByTagName("td")[1].style.width = Breite + "px";
sollte klappen. Musst du auch in Zeile 5 so anpassen.
Gruss,
Daniel
Klappt leider immer noch nicht. die gleiche Fehlermeldung
Hi,
welcher Browser?
Die Fehlerquelle: window.innerWidth
Das kennt nur der NN4.
Im IE, Mozilla, Opera, etc. gibts diese Eigenschaft nicht.
http://de.selfhtml.org/javascript/objekte/window.htm#inner_width
freundlichen Gruß
Danny
Stimmt ich hab mir Breite ausgeben lassen: NaN
ich probiere es mit screen.width
vielen Dank
Bitte.
Noch ein Tipp:
Du kannst auch leicht mehrere Eigenschaften auf einmal dynamisch tauschen, per CSS-Klasse.
Dazu mußt Du nur .width durch .className ersetzen und den Namen der Klasse angeben, z.B.
document.getElementsByTagName("td")[1].className = "stil1";
Ein passendes CSS könnte so aussehen:
.stil1 {
width: 300px;
/* etc. */
}
Hi,
Ich möchte das die Breite der mittleren Taballenzelle je nach Größe des Browserfensters unterschiedlich groß ist. Nicht kleiner als 300.
Die linke tabellenspalte ist 150 die rechte 70 groß.
und warum nutzt Du nicht die natürliche Flexibilität von Tabellen und läßt die Breitenangabe der mittleren Zellen einfach weg? Wenn Du dazu noch ein 300px breites Objekt in die Zelle setzt, solltest Du dein Ziel auch ohne JS erreicht haben.
freundliche Grüße
Ingo