julia: Hilfe bei dynamischer Breite

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.

  1. Hallo julia,

    document.getElementsByTagName("td")[1].style.width = Breite + "px";

    sollte klappen. Musst du auch in Zeile 5 so anpassen.

    Gruss,
    Daniel

    1. Klappt leider immer noch nicht. die gleiche Fehlermeldung

      1. 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

        1. Stimmt ich hab mir Breite ausgeben lassen: NaN
          ich probiere es mit screen.width
          vielen Dank

          1. 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. */
            }

  2. 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