Lutz T.: werte zuweisen

Beitrag lesen

hey,

Hüh!

ich habe mit dieser scriptsprache so meine probleme (heul), da ich sonst immer nur c++ oder pascal geschrieben habe.

JavaScript ist so ne Art C++ für Anfänger, die Syntax ist so ziemlich gleich.

also, ich habe ein objekt, eine <div> layer, der test heisst.

in js kann ich den linken positionswert über test.style.left auslesen. der ist aber nicht bspw. 10 sonder 10px. was soll das denn? oder anders gefragt, wie weise ich einem layer werte zu?

10px sind 10 Pixel, also kein Grund zur Panik

ich möchte einen layer über den bildschirm bewegen (hin und her)
so?:

<html>
<script>

In das script-tag sollte man immer noch was dazuschreiben, entweder language oder type.

var dir=1;
</script>
<body>

<div id="test" style="position:absolute; left:0; top:0; height:20; width:30; background-color:red;">
</div>

<script>
function moveIt()
{
var x=test.style.left;

sauberer wäre
var x=document.getElementById('test').style.left;
und da du ja nur die Zahl willst
var x=parseInt(document.getElementById('test').style.left);

x=x+dir;

oder x+=dir; wie man das von C++ gewöhnt ist

if (x>500 || x<0){dir=-dir;}

oder dir*=-1; ebenfalls von C++ nachempfunden

test.style.left=x;

hier sollte man besser wieder
document.getElementById('test').style.left=x;
verwenden
Und dann noch ein
setTimeout('moveIt()',100);
dazuschreiben, so daß die funktion moveIt() 10 mal pro Sekunde aufgerufen wird

}
setTimeout('moveIt();'100000);

Hier fehlt ein Komma, außerdem ist das für Schildkröten optimiert

</script>

</body>
</html>

das klappt so nicht, da left keine zahl sonder eine zahl+"px" oder sowas ist. ausserdem bleibt der wert von der variable 'dir' nicht ergalten. kann man global variablen erstellen?

dir ist schon global, da var dir außerhalb einer funktion deklariert wurde.

verzweifelnd tobias

ps.: mit welcher tastenkombination mache ich eigendlich den oder || operator? ich muss immer den ascii-code eingeben (pein)

mit [Alt GR]+[>] (die Taste mit dem größer und kleiner Zeichen)

Lutz.