Layer verschieben in NS 6.2.2
JL
- javascript
0 Kai Lahmann0 Michelm0 JL
Das funzt nicht:
alert(document.getElementById(layerid).style.left);
document.getElementById(layerid).style.left = document.getElementById(layerid).style.left - 1;
alert(document.getElementById(layerid).style.left);
Was mach ich falsch?
Wie mach ich es richtig?
auf meiner Seite beeinflusst es nur einen Layer, die anderen überhaupt nicht, dieser eine Layer sitzt dann aber plötzlich nicht mehr bei left:181px; sondern bei left:-1px;
hi
document.getElementById(layerid).style.left = document.getElementById(layerid).style.left - 1;
das Problem ist, dass da eben "181px" und nicht nur "181" steht. Insofern muss man erstmal die Einheit da wieder weg kriegen und hinterher wieder ran.
Grüße aus Bleckede
Kai
Das funzt nicht:
alert(document.getElementById(layerid).style.left);
document.getElementById(layerid).style.left = document.getElementById(layerid).style.left - 1;
alert(document.getElementById(layerid).style.left);
Was mach ich falsch?
Wie mach ich es richtig?
auf meiner Seite beeinflusst es nur einen Layer, die anderen überhaupt nicht, dieser eine Layer sitzt dann aber plötzlich nicht mehr bei left:181px; sondern bei left:-1px;
Hallo
unter [LINK:http://webcockroches.onlinehome.de/flyer.html /Link] findest Du ein gutes Beispiel (function fly2() ) wie es gut geht.
Im allegemeinen
wert=parseInt(document.getElementById(layerid).style.left)
document.getElementByid(layerid).style.left=(wert+10)+"px";
sofern wäre obige Code (aber langsam arbeitend) so zu schreiben:
alert(document.getElementById(layerid).style.left);
document.getElementById(layerid).style.left =( parseInt(document.getElementById(layerid).style.left) - 1)+"px";
alert(document.getElementById(layerid).style.left);
So funzt das nicht, wie du meinst!
alert(document.getElementById(layerid).style.left); --> "181px"
wert=parseInt(document.getElementById(layerid).style.left)
wert=(wert+10)+"px";
alert(wert); --> "191px"
document.getElementById(layerid).style.left=(wert+10)+"px";-->ERROR
alert(document.getElementById(layerid).style.left);
in der vorletzten Zeile:
Fehler: uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMCSS2Properties.left]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: http://localhost:2323/schul-sucht/design/layout-2-header.js :: layer_visible :: line 77" data: no]