Gunnar Bittersmann: Fensterbreite/höhe auslesen

Beitrag lesen

@@Franz:

function changeDivPosition() {
    hoehe = window.innerHeight ? window.innerHeight : 100px;

Globale Variablen sind unfein.

Was soll 100px sein? Ein String? Dann fehlen dessen Begrenzer.

hoehe willst du aber einen numerischen Wert zuweisen. window.innerHeight liefert einen solchen. 100 wäre auch ein solcher.

Und für „nimm das erste, wenn es nicht falsch ist, sonst das zweite“ gibt es einen Operator: '||':

var hoehe = window.innerHeight || 100;

document.getElementById('box').style.top = hoehe - 20px;

20px?? Siehe oben.

Von einem numerischen Wert kannst du keinen String abziehen. Du willst zwei numerische Werte subtrahieren. style.top erwartet einen String mit Maßeinheit (px). Also:

document.getElementById('box').style.top = (hoehe - 20) + "px";

window.onload=changeDivPosition();

Nein, window.unload wird die Funktion zugewiesen, nicht ein bei deren Aufruf von ihr zurückgegebener Wert. Ohne Klammern:

window.onload = changeDivPosition;

Leider passiert garnix :(
Woran könnte das liegen?

Die Fehlerkonsole hat dir dazu nichts gesagt?

Live long and prosper,
Gunnar

--
Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.