layers |
|
layers: Allgemeines zur Verwendung Eigenschaften:
above (oberhalb liegender Layer) Methoden:
captureEvents (Ereignisse überwachen) |
|
Mit dem Objekt layers, das in der JavaScript-Objekthierarchie unterhalb des document-Objekts liegt, haben Sie Zugriff auf alle Layer, die in einer HTML-Datei definiert sind. Dieses Objekt ist - ebenso wie die entsprechenden HTML-Tags - Netscape-spezifisch. Es ist die Grundlage für Dynamisches Positionieren (Netscape) (dort finden Sie auch weitere Beispiele).
Ein neues Layer-Objekt wird automatisch erzeugt, wenn der WWW-Browser einen Layer in der HTML-Datei vorfindet.
Es stehen folgende Arten zur Verfügung, mit JavaScript einen bestimmten Layer anzusprechen:
document.layers[#].Eigenschaft document.layers[#].Methode() Farbe = document.layers[0].bgColor; |
document.LayerName.Eigenschaft document.LayerName.Methode() Farbe = document.Kopfbereich.bgColor; |
Layer können Sie auf zwei Arten ansprechen:
Speichert, welcher andere Layer über einem Layer liegt. Die Eigenschaft above liefert das Layer-Objekt des darüberliegenden Layers zurück. Sie müssen also noch eine Eigenschaft wie name anhängen, um mehr über den Layer zu erfahren.
<html><head><title>Test</title> </head><body> <layer name="GelberLayer" top=100 left=50 height=200 bgcolor=#FFFFE0> Inhalt des gelben Layers </layer> <layer top=150 name="LilaLayer" left=100 height=200 bgcolor=#FFE0FF> Inhalt des lila Layers </layer> <a href="javascript:alert(document.GelberLayer.above.name)"> Wer liegt ueber dem gelben Layer?</a><br> <a href="javascript:alert(document.GelberLayer.above.top)"> Und wo beginnt er?</a><br> </body></html> |
Im Beispiel werden zwei Layer mit den Namen GelberLayer und LilaLayer definiert. Außerdem sind zwei Verweise notiert. Der eine Verweis meldet beim Anklicken den Namen des Layers, der über dem gelben Layer liegt (document.GelberLayer.above.name), der andere Verweis dessen Position von oben (document.GelberLayer.above.top). Über dem gelben Layer liegt der lila Layer, da dieser in der Datei nach dem gelben Layer definiert wird.
Speichert das Hintergrundbild (Wallpaper) eines Layers. Das folgende Beispiel zeigt, wie Sie ein solches Hintergrundbild dynamisch ändern können.
<html><head><title>Test</title> <script language="JavaScript"> Neubild = new Image(); Neubild.src = "back02.gif"; function Hintergrund() { document.TestLayer.background.src="back02.gif"; } </script> </head><body> <layer top=150 name="TestLayer" left=100 height=200 bgcolor=#FFE0FF> Inhalt des Layers </layer> <a href="javascript:Hintergrund()">Anderer Hintergrund</a> </body></html> |
Im Beispiel wird ein Layer mit einem Hintergrundbild definiert. Beim Klick auf den Verweis wird das Hintergrundbild dynamisch durch ein anderes ersetzt. Beachten Sie, daß dazu in dem Scriptbereich im Dateikopf bereits beim Einlesen der Datei mit Hilfe des images-Objekts die Hintergrundgrafik registriert wird, die die andere dynamisch ersetzen soll.
Beim Klick auf den Verweis wird die Funktion Hintergrund() aufgerufen, die das Hintergrundbild dynamisch ändert. Hinter der Adressierung des Layers müssen Sie dabei background.src notieren und diesem Ausdruck die zuvor registrierte Grafik zuweisen.
Speichert die Hintergrundfarbe eines Layers.
<html><head><title>Test</title> <script language="JavaScript"> function Hintergrund() { if(document.TestLayer.bgColor=="aqua") { document.TestLayer.bgColor="yellow"; return; } else { document.TestLayer.bgColor="aqua"; return; } } </script> </head><body> <layer top=150 name="TestLayer" left=100 height=200 bgcolor="aqua"> Inhalt des Layers </layer> <a href="javascript:Hintergrund()">Anderer Hintergrund</a> </body></html> |
Im Beispiel wird ein Layer definiert. Beim Klick auf den Verweis wird die Funktion Hintergrund() aufgerufen, die im Dateikopf in einem Scriptbereich notiert ist. Diese Funktion fragt ab, welche Hintergrundfarbe der Layer gerade hat, und weist dementsprechend eine andere zu.
Hinweis: dieses Beispiel ließ sich beim Testen nicht verifizieren, da Netscape (V4.01a wurde verwendet) merkwürdige bgColor-Werte zurcklieferte, die nicht in das von Netscape dokumentierte Schema (hexadezimale Angabe oder Farbname) passen.
Speichert, welcher andere Layer unter einem Layer liegt. Die Eigenschaft below liefert das Layer-Objekt des darunterliegenden Layers zurück. Sie müssen also noch eine Eigenschaft wie name anhängen, um mehr über den Layer zu erfahren.
<html><head><title>Test</title> </head><body> <layer name="GelberLayer" top=100 left=50 height=200 bgcolor=#FFFFE0> Inhalt des gelben Layers </layer> <layer top=150 name="LilaLayer" left=100 height=200 bgcolor=#FFE0FF> Inhalt des lila Layers </layer> <a href="javascript:alert(document.LilaLayer.below.name)">Wer liegt unter dem lila Layer?</a><br> <a href="javascript:alert(document.LilaLayer.below.left)">Und wo beginnt er?</a><br> </body></html> |
Im Beispiel werden zwei Layer mit den Namen GelberLayer und LilaLayer definiert. Außerdem sind zwei Verweise notiert. Der eine Verweis meldet beim Anklicken den Namen des Layers, der unter dem lila Layer liegt (document.LilaLayer.below.name), der andere Verweis dessen Position von links (document.GelberLayer.below.left). Unter dem lila Layer liegt der gelbe Layer, da in der Datei zuerst der gelbe und danach der lila Layer definiert wird.
Speichert, welcher Ausschnitt eines Layers angezeigt wird. Dabei gibt es folgende Untereigenschaften:
clip.top speichert den Pixelwert oben der linken oberen Ecke des sichtbaren Layer-Bereichs,
clip.left speichert den Pixelwert links der linken oberen Ecke des sichtbaren Layer-Bereichs,
clip.bottom speichert den Pixelwert unten der rechten unteren Ecke des sichtbaren Layer-Bereichs,
clip.right speichert den Pixelwert rechts der rechten unteren Ecke des sichtbaren Layer-Bereichs,
clip.width speichert die Breite des sichtbaren Layer-Bereichs (alternative Angabe zur Angabe einer rechten unteren Ecke),
clip.height speichert die Höhe des sichtbaren Layer-Bereichs (alternative Angabe zur Angabe einer rechten unteren Ecke).
<html><head><title>Test</title> <script language="JavaScript"> function MachKleiner() { with(document.MeinLayer) { if(clip.height > 0 && clip.width > 0) { clip.height-=10; clip.width-=10; } } } function MachGroesser() { with(document.MeinLayer) { if(clip.height < 200 && clip.width > 200) { clip.height+=10; clip.width+=10; } } } </script> </head><body> <layer name="MeinLayer" top=80 left=80 height=200 width=200 bgcolor=#FFFFE0> Inhalt des Layers </layer> <a href="javascript:MachKleiner()">Kleiner</a><br> <a href="javascript:MachGroesser()">Groesser</a> </body></html> |
Im Beispiel ist ein Layer definiert. Da innerhalb der HTML-Definition keine Angaben zum clip-Bereich des Layers gemacht werden, wird der gesamte Layer angezeigt. Seine clip-Werte ergeben sich aus der Größe des Layers. Intern sind also clip.top und clip.left gleich 0, und clip.width, clip.height, clip.bottom und clip.right haben alle den Wert 200, weil sich dies aus den Angaben height=200 width=200 in der HTML-Definition des Layers ergibt.
Mit Hilfe von zwei Verweisen läßt sich im Beispiel der sichtbare Anzeigebereich des Layers verkleinern und wieder vergrößern. Die Verweise rufen die Funktionen MachKleiner() bzw. MachGroesser() auf, die in einem Scriptbereich im Dateikopf notiert sind.
Die Funktion MachKleiner() fragt ab, ob clip.width und clip.height größer 0 sind. Wenn ja, werden beide Werte um 10 verringert, wodurch der Anzeigebereich des Layers von rechts unten um 10 Pixel beschnitten wird. Die Funktion MachGroesser() tut einfach das Umgekehrte.
Jeder Layer wird von Netscape wie ein eigenes kleines Dokument behandelt. Deshalb gibt es für Layer auch ein document-Objekt, das genauso funktioniert wie das globale document-Objekt. Dadurch haben Sie Zugriff auf Dokument-Unterobjekte wie Grafiken, Formulare usw. Um solche Elemente innerhalb eines Layers anzusprechen, müssen Sie die Elemente über das Layer-eigene document-Objekt ansprechen.
<html><head><title>Test</title> <script language="JavaScript"> function AndererInhalt() { document.MeinLayer.document.open(); document.MeinLayer.document.write("Jetzt ist der Verweis weg!"); document.MeinLayer.document.close(); } </script> </head><body> <layer name="MeinLayer" bgcolor=#FFFFE0> <a href="javascript:AndererInhalt()">Diesen Verweis ueberschreiben</a> </layer> </body></html> |
Im Beispiel wird ein Layer definiert, der einen Verweis enthält. Beim Anklicken wird die Funktion AndererInhalt() aufgerufen, die in einem Scriptbereich im Dateikopf notiert ist. Diese Funktion benutzt typische Methoden des document-Objekts wie open(), write() und close(). Das Besondere ist, daß es sich nicht um das globale Dokument handelt, sondern um das Dokument, das der Layer darstellt. Dies wird durch eine Adressierung wie document.MeinLayer.document erreicht.
Speichert den Pixelwert für links der linken oberen Ecke eines Layers. Bezug ist dabei das übergeordnete Dokument. Das kann entweder das globale Dokument sein oder ein Layer, innerhalb dessen der aktuelle Layer definiert ist. Für absoluten Bezug siehe pageX.
<html><head><title>Test</title> </head><body> <layer name="SuperLayer" left=100> <layer name="Layerchen" left=200 width=300 bgcolor=#FFFFE0> <a href="javascript:alert(document.SuperLayer.document.Layerchen.left)">Links-Wert?</a> </layer> </layer> </body></html> |
Das Beispiel enthält einen Layer innerhalb eines anderen Layers, beginnend bei Pixelposition 200 von links, mit einem Verweis. Beim Anklicken des Verweises wird der Linkswert des inneren Layers ausgegeben. Der beträgt 200, obwohl der Layer optisch gesehen bei Position 300 beginnt, weil der übergeordnete Layer ja schon bei 100 beginnt und die 200 des inneren Layers dazu addiert wird.
Speichert die Anzahl der Layer in einer Datei.
<html><head><title>Test</title> </head><body> <layer></layer> <layer></layer> <layer></layer> <layer></layer> <script language="JavaScript"> document.write("Auf dieser Seite gibt es " + document.layers.length + " Layer"); </script> </body></html> |
Das Beispiel enthält ein paar Layer zu Testzwecken und schreibt dann mit document.write() die Anzahl der definierten Layer in die Datei.
Speichert den Namen eines Layers.
<html><head><title>Test</title> </head><body> <layer name="Layerchen" bgcolor=#FFFFE0> <a href="javascript:alert(document.Layerchen.name)">Wie heisse ich denn?</a> </layer> </body></html> |
Das Beispiel enthält einen Layer mit einem Verweis. Beim Anklicken des Verweises wird der Name des Layers in einem Meldungsfenster ausgegeben. Es ist derjenige Name, der in HTML bei dem Attribut name= angegeben ist.
Speichert den Pixelwert für links der linken oberen Ecke eines Layers. Bezug ist dabei das globale Dokument, auch wenn der aktuelle Layer innerhalb eines anderen Layers definiert ist.
<html><head><title>Test</title> <script language="JavaScript"> function NachLinks() { document.Layerchen.pageX = 0; } </script> </head><body> <layer name="Layerchen" left=300 width=300 bgcolor=#FFFFE0> <a href="javascript:NachLinks()">Nach links mit diesem Layer</a> </layer> </body></html> |
Das Beispiel enthält einen Layer, beginnend bei Pixelposition 300 von links, mit einem Verweis. Beim Anklicken des Verweises wird die Funktion NachLinks() aufgerufen, die im Dateikopf in einem Scriptbereich notiert ist. Diese Funktion ändert den Links-Wert des Layers auf 0, so daß der Layer anschließend ganz links beginnt.
Speichert den Pixelwert für oben der linken oberen Ecke eines Layers. Bezug ist dabei das globale Dokument, auch wenn der aktuelle Layer innerhalb eines anderen Layers definiert ist.
<html><head><title>Test</title> <script language="JavaScript"> function NachOben() { document.Layerchen.pageY = 0; } </script> </head><body> <layer name="Layerchen" top=300 width=300 bgcolor=#FFFFE0> <a href="javascript:NachOben()">Nach oben mit diesem Layer</a> </layer> </body></html> |
Das Beispiel enthält einen Layer, beginnend bei Pixelposition 300 von oben, mit einem Verweis. Beim Anklicken des Verweises wird die Funktion NachOben() aufgerufen, die im Dateikopf in einem Scriptbereich notiert ist. Diese Funktion ändert den Links-Wert des Layers auf 0, so daß der Layer anschließend ganz links beginnt.
Speichert das Eltern-Objekt eines Layers. Das kann entweder das window-Objekt sein, oder, falls der Layer innerhalb eines anderen Layers definiert ist, dieser übergeordnete Layer.
<html><head><title>Test</title> <script language="JavaScript"> </script> </head><body> <layer name="SuperLayer"> <layer name="Layerchen" bgcolor=#FFFFE0> <a href="javascript:alert(document.SuperLayer.document.Layerchen.parentLayer.name)">Super-Name?</a> </layer> </layer> </body></html> |
Das Beispiel enthält einen Layer innerhalb eines anderen Layers. Beim Anklicken des Verweises im inneren Layer wird der Name des Eltern-Objekts ausgegeben. Da das Elternobjekt in diesem Fall der übergeordnete Layer ist, wird dessen Name, also SuperLayer, ausgegeben.
Speichert denjenigen Layer, der aufgrund der Schichtposition, die z.B. mit z-index= in HTML festgelegt wird, über dem angesprochenen Layer liegt. Es handelt sich dabei um ein Layer-Objekt, für das seinerseits alle verfügbaren Eigenschaften und Methoden gelten.
<html><head><title>Test</title> </head><body> <layer name="L1" left=100 top=100 z-index=3 bgcolor=#FFFFE0>Layerinhalt L1</layer> <layer name="L2" left=120 top=120 z-index=1 bgcolor=#FFFFD0>Layerinhalt L2</layer> <layer name="L3" left=140 top=140 z-index=4 bgcolor=#FFFFC0>Layerinhalt L3</layer> <layer name="L4" left=140 top=140 z-index=2 bgcolor=#FFFFB0>Layerinhalt L4</layer> <layer name="L5" left=100 top=180> <a href="javascript:alert(document.L1.siblingAbove.name)">L1 siblingAbove</a><br> <a href="javascript:alert(document.L2.siblingAbove.name)">L2 siblingAbove</a><br> <a href="javascript:alert(document.L3.siblingAbove.name)">L3 siblingAbove</a><br> <a href="javascript:alert(document.L4.siblingAbove.name)">L4 siblingAbove</a><br> </layer> </body></html> |
Das Beispiel definiert insgesamt fünf Layer. Der zuletzt definierte Layer enthält vier Verweise. Jeder Verweis gibt für einen der ersten vier Layer den Namen desjenigen Layers aus, der aufgrund der z-index-Ordnung über dem angesprochenen Layer liegt. Klickt man beispielsweise auf den ersten Verweis, wird für den Layer mit dem Namen L1 der Name des Layers ausgegeben, der darüber liegt. Das ist in dem Fall der Layer mit dem Namen L3, da der Layer L1 den z-index-Wert 3 hat und der Layer L3 den nächsthöheren z-index-Wert, nämlich 4.
Speichert denjenigen Layer, der aufgrund der Schichtposition, die z.B. mit z-index= in HTML festgelegt wird, unter dem angesprochenen Layer liegt. Es handelt sich dabei um ein Layer-Objekt, für das seinerseits alle verfügbaren Eigenschaften und Methoden gelten.
<html><head><title>Test</title> </head><body> <layer name="L1" left=100 top=180> <a href="javascript:alert(document.L2.siblingBelow.name)">L2 siblingBelow</a><br> <a href="javascript:alert(document.L3.siblingBelow.name)">L3 siblingBelow</a><br> <a href="javascript:alert(document.L4.siblingBelow.name)">L4 siblingBelow</a><br> <a href="javascript:alert(document.L5.siblingBelow.name)">L5 siblingBelow</a><br> </layer> <layer name="L2" left=100 top=100 z-index=3 bgcolor=#FFFFE0>Layerinhalt L2</layer> <layer name="L3" left=120 top=120 z-index=1 bgcolor=#FFFFD0>Layerinhalt L3</layer> <layer name="L4" left=140 top=140 z-index=4 bgcolor=#FFFFC0>Layerinhalt L4</layer> <layer name="L5" left=140 top=140 z-index=2 bgcolor=#FFFFB0>Layerinhalt L5</layer> </body></html> |
Das Beispiel definiert insgesamt fünf Layer. Der erste Layer enthält vier Verweise. Jeder Verweis gibt für einen der folgenden vier Layer den Namen desjenigen Layers aus, der aufgrund der z-index-Ordnung unter dem angesprochenen Layer liegt. Klickt man beispielsweise auf den ersten Verweis, wird für den Layer mit dem Namen L2 der Name des Layers ausgegeben, der darunter liegt. Das ist in dem Fall der Layer mit dem Namen L5, da der Layer L1 den z-index-Wert 3 hat und der Layer L2 den nächstniedrigeren z-index-Wert, nämlich 2.
Speichert die externe Datei, die in einen Layer eingebunden ist.
<html><head><title>Test</title> </head><body> <layer name="extern" left=50 top=30 width=600 height=200 src="news.htm"> </layer> <layer left=50 top=250> <script language="JavaScript"> document.write("<hr><b>Eingebunden wurde die Datei: </b>" + window.document.extern.src); </script> </layer> </body></html> |
Das Beispiel enthält zwei positionierte Layer. Der Inhalt des ersten Layers ist eine externe Datei namens news.htm. Im zweiten Layer wird mit Hilfe von document.write() die genaue Adresse der externen Datei in den Layerbereich geschrieben. Beachten Sie, daß in diesem Fall window.document.extern.src zur Adressierung des anderen Layers verwendet werden muß, da document.extern.src sich sonst nur auf den aktuellen Layer beziehen würde und dieser kein Element namens extern enthält.
Speichert den Pixelwert für oben der linken oberen Ecke eines Layers. Bezug ist dabei das übergeordnete Dokument. Das kann entweder das globale Dokument sein oder ein Layer, innerhalb dessen der aktuelle Layer definiert ist. Für absoluten Bezug siehe pageY.
<html><head><title>Test</title> </head><body> <layer name="SuperLayer" top=100> <layer name="Layerchen" top=200 width=300 bgcolor=#FFFFE0> <a href="javascript:alert(document.SuperLayer.document.Layerchen.top)">Oben-Wert?</a> </layer> </layer> </body></html> |
Das Beispiel enthält einen Layer innerhalb eines anderen Layers, beginnend bei Pixelposition 200 von oben, mit einem Verweis. Beim Anklicken des Verweises wird der Oben-Wert des inneren Layers ausgegeben. Der beträgt 200, obwohl der Layer optisch gesehen bei Position 300 beginnt, weil der übergeordnete Layer ja schon bei 100 beginnt und die 200 des inneren Layers dazu addiert wird.
Speichert, ob bzw. daß ein Layer sichtbar ist oder nicht.
<html><head><title>Test</title> <script language="JavaScript"> function EinAus(Nummer) { if(window.document.layers[Nummer].visibility == "show") { window.document.layers[Nummer].visibility = "hide"; return; } if(window.document.layers[Nummer].visibility == "hide") { window.document.layers[Nummer].visibility = "show"; return; } } </script> </head><body> <layer name="GelberLayer" left=50 top=30 width=200 height=200 visibility=show bgcolor=#FFFFE0> <a href="javascript:EinAus(1)">anderer Layer ein/aus</a> </layer> <layer name="LilaLayer" left=250 top=30 width=200 height=200 visibility=show bgcolor=#FFE0FF> <a href="javascript:EinAus(0)">anderer Layer ein/aus</a> </body></html> |
Im Beispiel werden zwei positionierte Layer definiert. Jeder der beiden Layer enthält einen Verweis, bei dessen Anklicken der jeweils andere Layer aus- und wieder eingeblendet wird. Dazu wird jeweils die Funktion EinAus() aufgerufen, die im Dateikopf notiert ist. Als Parameter wird die Indexnummer des jeweils anderen Layers übergeben. Die Eigenschaft visibility kann die drei Werte hide (verstecken), show (anzeigen) und inherit (wie vom Eltern-Layer vererbt) haben.
Speichert die Schichtposition eines Layers.
<html><head><title>Test</title> </head><body> <a href="javascript:alert(window.document.EinLayer.zIndex)">z-index?</a> </body></html> |
Im Beispiel wird ein Layer definiert, der per HTML-Attribut einen z-index-Wert von 527 erhält. Innerhalb des Layers ist ein Verweis notiert. Beim Anklicken des Verweises wird der z-Index-Wert des Layers in einem Meldungsfenster ausgegeben.
Überwacht Anwenderereignisse in einem Layer. Funktioniert genau so wie captureEvents() beim window-Objekt (nähere Informationen siehe dort). Der einzige Unterschied ist, daß Sie mit window.document.Layername.caputeEvents() nur Ereignisse innerhalb des Layerbereichs überwachen können, keine Ereignisse im gesamten Fensterbereich (zu dem beispielsweise auch Titelleiste, Menüleisten usw. gehören).
Übergibt ein Ereignis an ein Element, das in der Lage ist, auf das Ereignis zu reagieren. Funktioniert genau so wie handleEvent() beim window-Objekt (nähere Informationen siehe dort). Der einzige Unterschied ist, daß window.document.Layername.handleEvent() nur Ereignisse übergeben kann, die mit window.document.Layername.captureEvents() überwacht werden.
Lädt eine externe Datei in einen Layer. Erwartet zwei Parameter:
1. Quelle = Eine (HTML)-Datei, die geladen werden soll.
2. Breite = Anzeigebreite des Layers.
<html><head><title>Test</title> <script language="JavaScript"> function Laden() { document.EinLayer.load("news.htm",600); } </script> </head><body> <a href="javascript:Laden()">News laden</a> <layer name="EinLayer" top=50 left=20> "/layer" </body></html> |
Das Beispiel enthält einen leeren Layer und einen Verweis. Beim Anklicken des Verweises wird die Funktion Laden() aufgerufen, die im Dateikopf notiert ist. Die Anweisung innerhalb der Funktion wendet die Methode load() auf den bis dahin leeren Layer an. Die angegebene Datei news.htm wird in den Layer geladen, und der Layer erhält eine Anzeigebreite von 600 Pixeln.
Legt einen Layer über einen anderen Layer. Erwartet als Parameter den Layer, der überdeckt werden soll. Die Schichtposition des veränderten Layers ändert sich dabei abhängig von der des Layers, der überdeckt werden soll. Diese Methode hat nichts mit dem Bewegen von Layern zu tun.
<html><head><title>Test</title> </head><body> <layer name="GelberLayer" top=150 left=100 width=200 height=200 bgColor=#FFFFE0> Gelber Layer<br> <a href="javascript:window.document.GelberLayer.moveAbove(window.document.LilaLayer)"> nach vorne</a> </layer> <layer name="LilaLayer" top=50 left=250 width=200 height=200 bgColor=#FFE0FF> Lila Layer<br> <a href="javascript:window.document.LilaLayer.moveAbove(window.document.GelberLayer)"> nach vorne</a> </layer> </body></html> |
Im Beispiel werden zwei positionierte Layer definiert, die sich zum Teil überlappen. Beide enthalten jeweils einen Verweis, um den eigenen Layer über den anderen zu legen.
Legt einen Layer unter einen anderen Layer. Erwartet als Parameter den Layer, der den aktuellen überdecken soll. Die Schichtposition des veränderten Layers ändert sich dabei abhängig von der des Layers, der den aktuellen Layer überdecken soll. Diese Methode hat nichts mit dem Bewegen von Layern zu tun.
<html><head><title>Test</title> </head><body> <layer name="GelberLayer" top=150 left=100 width=200 height=200 bgColor=#FFFFE0> Gelber Layer<br> <a href="javascript:window.document.GelberLayer.moveBelow(window.document.LilaLayer)"> nach hinten</a> </layer> <layer name="LilaLayer" top=50 left=250 width=200 height=200 bgColor=#FFE0FF> Lila Layer<br> <a href="javascript:window.document.LilaLayer.moveBelow(window.document.GelberLayer)"> nach hinten</a> </layer> </body></html> |
Im Beispiel werden zwei positionierte Layer definiert, die sich zum Teil überlappen. Beide enthalten jeweils einen Verweis, um den eigenen Layer von dem jeweils anderen überdecken zu lassen.
Verschiebt einen Layer um so viele Pixel wie angegeben. Erwartet folgende Parameter:
1. x-Wert = um wie viele Pixel der Layer nach links/rechts verschoben werden soll. Negative Werte verschieben nach links, positive nach rechts.
2. y-Wert = um wie viele Pixel der Layer nach oben/unten verschoben werden soll. Negative Werte verschieben nach oben, positive nach unten.
<html><head><title>Test</title> <script language="JavaScript"> function Springen() { x = eval(document.Springer.document.Eingabe.hr.value); y = eval(document.Springer.document.Eingabe.vr.value); document.Springer.moveBy(x,y); } </script> </head><body> <layer name="Springer" top=150 left=100 width=200 height=200 bgColor=#FFFFE0> <form name="Eingabe"> Springe um <input size=5 name="hr"> Pixel horizontal<br> Springe um <input size=5 name="vr"> Pixel vertikal<br> <input type=button value="Springe" onClick="Springen()"> </form> </body></html> |
Im Beispiel wird ein Layer definiert, der ein Formular enthält. Das Formular stellt zwei kleine Eingabefelder bereit, in denen der Anwender eingeben kann, um wie viele Pixel der Layer horizontal und vertikal verschoben werden soll. Beim Anklicken des Buttons, der auch zu dem Formular gehört, wird die Funktion Springen() aufgerufen, die im Dateikopf notiert ist. Diese Funktion ermittelt zunächst die eingegebenen Werte. Da es sich um Zeichenketten handelt, die Methode moveBy() aber Zahlen erwartet, wird die Funktion eval() zum Umwandeln der Formulareingaben in eine Zahl angewendet. Anschließend wendet die Funktion die Methode moveBy() mit den ermittelten Werten auf den Layer an.
Verschiebt einen Layer auf die anzugebende Position. Erwartet folgende Parameter:
1. x-Wert = Links-Wert für die neue obere linke Ecke des Fensters.
2. y-Wert = Oben-Wert für die neue obere linke Ecke des Fensters.
<html><head><title>Test</title> <script language="JavaScript"> function Springen() { x = eval(document.Springer.document.Eingabe.hr.value); y = eval(document.Springer.document.Eingabe.vr.value); document.Springer.moveTo(x,y); } </script> </head><body> <layer name="Springer" top=150 left=100 width=200 height=200 bgColor=#FFFFE0> <form name="Eingabe"> links oben neu: <input size=5 name="hr"> (von links)<br> links oben neu: <input size=5 name="vr"> (von oben)<br> <input type=button value="Springe" onClick="Springen()"> </form> </body></html> |
Im Beispiel wird ein Layer definiert, der ein Formular enthält. Das Formular stellt zwei kleine Eingabefelder bereit, in denen der Anwender die x- und y-Werte der neuen gewünschten oberen linken Ecke des Layers eingeben kann. Beim Anklicken des Buttons, der auch zu dem Formular gehört, wird die Funktion Springen() aufgerufen, die im Dateikopf notiert ist. Diese Funktion ermittelt zunächst die eingegebenen Werte. Da es sich um Zeichenketten handelt, die Methode moveBy() aber Zahlen erwartet, wird die Funktion eval() zum Umwandeln der Formulareingaben in eine Zahl angewendet. Anschließend wendet die Funktion die Methode moveTo() mit den ermittelten Werten auf den Layer an.
Wenn sich der Layer, auf den Sie die moveTo()-Methode anwenden, innerhalb eines anderen Layers befindet, beziehen sich die Angaben relativ zu dem äußeren Layer. Eine Angabe wie moveTo(0,0) springt also zur linken oberen Ecke des äußeren Layers.
Funktioniert genauso wie moveTo(), mit dem Unterschied, daß die x- und y-Werte absolut zum Anzeigefenster interpretiert werden, falls sich der Layer innerhalb eines anderen Layers befindet.
Beendet die Überwachung von Anwenderereignissen. Funktioniert genau so wie releaseEvents() beim window-Objekt (nähere Informationen siehe dort). Der einzige Unterschied ist, daß document.Layername.releaseEvent() nur Ereignisüberwachungen beenden kann, die mit document.Layername.captureEvents() gestartet wurden.
Verändert die Größe eines Layers um so viele Pixel unten und rechts wie angegeben. Erwartet folgende Parameter:
1. x-Wert = um wie viele Pixel der Layer rechts verkleinert/vergrößert werden soll. Negative Werte verkleinern, positive vergrößern.
2. y-Wert = um wie viele Pixel der Layer unten verkleinert/vergrößert werden soll. Negative Werte verkleinern, positive vergrößern.
<html><head><title>Test</title> <script language="JavaScript"> function MachKleiner() { document.MeinLayer.resizeBy(-20,-10); } function MachGroesser() { document.MeinLayer.resizeBy(20,10); } </script> </head><body> <layer name="MeinLayer" top=50 left=50 width=200 height=100 bgColor=#FFFFE0> <a href=javascript:"MachKleiner()">Kleiner</a><br> <a href=javascript:"MachGroesser()">Groesser</a><br> </layer> </body></html> |
Im Beispiel ist ein Layer definiert. Mit Hilfe von zwei Verweisen läßt sich im Beispiel der sichtbare Anzeigebereich des Layers verkleinern und wieder vergrößern. Die Verweise rufen die Funktionen MachKleiner() bzw. MachGroesser() auf, die in einem Scriptbereich im Dateikopf notiert sind.
Die Funktion MachKleiner() verringert die Breite des Layers um 20 Pixel und die Höhe um 10 Pixel, die Funktion MachGroesser() tut das Umgekehrte.
Legt die Breite und Höhe eines Layers neu fest. Erwartet folgende Parameter:
1. x-Wert = neue Breite des Layers.
2. y-Wert = neue Höhe des Layers.
<html><head><title>Test</title> <script language="JavaScript"> function Aendern() { x = eval(document.L.document.Eingabe.hr.value); y = eval(document.L.document.Eingabe.vr.value); document.L.resizeTo(x,y); } </script> </head><body> <layer name="L" top=50 left=50 width=200 height=200 bgColor=#FFFFE0> <form name="Eingabe"> neue <input size=5 name="hr"> Breite<br> neue <input size=5 name="vr"> Hoehe<br> <input type=button value="Aendern" onClick="Aendern()"> </form> </body></html> |
Im Beispiel wird ein Layer definiert, der ein Formular enthält. Das Formular stellt zwei kleine Eingabefelder bereit, in denen der Anwender die x- und y-Werte der neuen gewünschten Breite und Höhe des Layers eingeben kann. Beim Anklicken des Buttons, der auch zu dem Formular gehört, wird die Funktion Aendern() aufgerufen, die im Dateikopf notiert ist. Diese Funktion ermittelt zunächst die eingegebenen Werte. Da es sich um Zeichenketten handelt, die Methode moveBy() aber Zahlen erwartet, wird die Funktion eval() zum Umwandeln der Formulareingaben in eine Zahl angewendet. Anschließend wendet die Funktion die Methode resizeTo() mit den ermittelten Werten auf den Layer an.
Übergibt ein Anwenderereignis an das document-Objekt. Von dort aus wird das Ereignis immer weiter nach unten durchgereicht, bis sich ein Event-Handler findet, der das Ereignis verarbeitet. Funktioniert genau so wie routeEvent() beim window-Objekt (nähere Informationen siehe dort). Der einzige Unterschied ist, daß document.Layername.routeEvent() nicht auf Fenster-Ebene ansetzt, sondern auf Layerebene.
weiter: | links |
zurück: | images |