Benjamin Mollenhauer: Ich weiß einfach nicht warum... JavaScript Problem

Hallo,

warum funktioniert folgender Code nicht?

var b = document.all.wolke01.style.left;
b += Math.random() * 100;

///////////////////
document.all.wolke01.style.left = b;
// Hier tritt der Fehler auf, immer wenn ich etwas anderes wie eine Zahl (10 z.B.) zuweisen will bekomm ich einen Error. Warum akzeptiert der IE das b nicht?!

Gruß,
       Benni

  1. Hallo Benni!

    Ich habe das ganze in eine Funktion gegeben, die mit <BODY onLoad="function()"> aufgerufen wird. Wenn ich Deine Zeile auf "b=Math.random()*100;" veraendere, funktioniert‚s bei mir.
    Du hast naemlich in der Zeile
    "b += Math.random() * 100;"
    eigentlich "b=b+Math.random()*100;"
    zugewiesen, was z.B. sowas ergeben koennte: "100px+89.037836352", was natuerlich falsch ist. Ich hoffe, ich konnte Dir helfen.

    Gruesse,
    Balazs

  2. Hallo,

    warum funktioniert folgender Code nicht?

    var b = document.all.wolke01.style.left;
    b += Math.random() * 100;

    ///////////////////
    document.all.wolke01.style.left = b;
    // Hier tritt der Fehler auf, immer wenn ich etwas anderes wie eine Zahl (10 z.B.) zuweisen will bekomm ich einen Error. Warum akzeptiert der IE das b nicht?!

    Gruß,
           Benni

    Hallo,

    var b = document.all.wolke01.style.left; gibt einen String in der Art "100px" zurück. Um mit diesen Wert rechnen zu können, mußt du zu erst die "100" mit Slice() ausschneiden und dann mit parseInt() in eine Zahl umwandeln.

    cu
    Thomas