Wie Layer verschieben?
Flo
- javascript
Hallo zusammen,
ich möchte bei Klick auf einen Link, ein Layer einblenden und an eine bestimmte Position verschieben.
Das Script:
function enlargeProject() {
document.getElementById("projectLayerBig").style.visibility = "visible";
document.getElementById("projectLayerBig").moveTo(100,200);
}
Der Layer:
<div id="projectLayerSmall" name="test" style="position:absolute; width:700; height:460px; z-index:11; left: 227px; top: 245px; visibility: visible;">
Der Link:
<a href="javascript:onClick=enlargeProject()">
Leider klappt das aber nicht. Der Layer erscheint aber wird nicht verschoben :-(
Danke und schöne Grüße
Flo
document.getElementById("projectLayerBig").moveTo(100,200);
^^^
<div id="projectLayerSmall" … >
^^^^^
Du solltest die richtige ID ansprechen.
Roland
Hi Roland,
danke für die Antwort, aber das war ein copy & paste Fehler von mir hier im Forum. Im Quellcode stimmts, aber leider läufts nicht :-(. Ich vermute mal, dass ich das Element falsch anspreche.
Das Script:
function enlargeProject() {
document.getElementById("projectLayerBig").style.visibility = "visible";
document.getElementById("projectLayerBig").moveTo(100,200);
}
Der Layer:
<div id="projectLayerBig" style="position:absolute; width:700; height:460px; z-index:11; left: 227px; top: 245px; visibility: visible;">
Der Link:
<a href="javascript:onClick=enlargeProject()">
Moin
Ich vermute mal, dass ich das Element falsch anspreche.
du benutzt die Funktion moveTo(), die für Fenster gedacht ist, nicht für Layer.
Hierfür müsstest du mittels der Eigenschaften left und top usw. im style arbeiten.
Gruß
rfb
Hallo rfb
du benutzt die Funktion moveTo(), die für Fenster gedacht ist, nicht für Layer.
Nicht ganz richtig.
Der NN4, der das layer-Element kannte, unterstützte für dieses auch die Methode moveTo.
Allerdings ist ein Div eben kein layer-Element auch wenn es oft (missverständlich) als Layer bezeichnet wird.
Hierfür müsstest du mittels der Eigenschaften left und top usw. im style arbeiten.
Das funktioniert dann dafür auch mit jedem beliebigen positionierten Element, nicht nur mit Divs.
Auf Wiederlesen
Detlef
Hallo rfb
Hallo zusammen,
danke für die Tipps, habs jetzt so gelöst:
document.getElementById("projectLayerBig").style.left = 200;
Allerdings gibt es im Internet massenweise Tipps und Tricks die das mit moveTo lösen (zumindest schreiben das es geht ;-))
Schöne Grüße
Flo
du benutzt die Funktion moveTo(), die für Fenster gedacht ist, nicht für Layer.
Nicht ganz richtig.
Der NN4, der das layer-Element kannte, unterstützte für dieses auch die Methode moveTo.Allerdings ist ein Div eben kein layer-Element auch wenn es oft (missverständlich) als Layer bezeichnet wird.
Hierfür müsstest du mittels der Eigenschaften left und top usw. im style arbeiten.
Das funktioniert dann dafür auch mit jedem beliebigen positionierten Element, nicht nur mit Divs.
Auf Wiederlesen
Detlef
danke für die Tipps, habs jetzt so gelöst:
document.getElementById("projectLayerBig").style.left = 200;
Hast du leider noch nicht, da „200“ kein gültiger CSS-Wert ist. Korrekt wäre
document.getElementById("projectLayerBig").style.left = "200px";
Siehe auch <http://de.selfhtml.org/javascript/objekte/style.htm#allgemeines@title=Verwendung von style in JavaScript>
Roland