SELFHTML/Navigationshilfen JavaScript/DOM Objekt-Referenz |
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-4-spezifisch. Es ist die Grundlage für Dynamisches Positionieren bei Netscape 4.x (dort finden Sie auch weitere Beispiele).
Das layers
-Objekt wird von Netscape ab Version 6.0 nicht mehr unterstützt. Es sollte also nur noch aus Gründen der Rückwärtskompatibilität zu Netscape 4.x Verwendung finden.
Ein neues Layer-Objekt wird automatisch erzeugt, wenn der Web-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:
document.layers
an und dahinter in eckigen Klammern, den wie vielten Layer in der Datei Sie meinen. Jeder Layer, die in HTML mit dem <layer>
-Tag oder mit dem <ilayer>
-Tag notiert wurde, zählt. Beachten Sie, dass der Zähler bei 0 beginnt, d.h. den ersten Layer sprechen Sie mit layers[0]
an, den zweiten mit layers[1]
usw. Beim Zählen gilt die Reihenfolge, in der die <layer>
/<ilayer>
-Tags in der Datei notiert sind.document.LayerName
den Namen an, den Sie bei der Definition der Grafik im einleitenden <layer>
/<ilayer>
-Tag im Attribut name=
angegeben haben.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.
Anzeigebeispiel: So sieht's aus
<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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/javascript"> <!-- var Neubild = new Image(); Neubild.src = "back02.gif"; function Hintergrund() { document.TestLayer.background.src="back02.gif"; } //--> </script> </head><body> <layer background="back03.gif" 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, dass 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/javascript"> <!-- var Farbe="aqua"; function Hintergrund() { if(document.TestLayer.bgColorFarbe=="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.
Sie können die Hintergrundfarbe eines Layers nicht abfragen, da Netscape 4 merkwürdige bgColor-Werte zurücklieferte, 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.
Anzeigebeispiel: So sieht's aus
<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).
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/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ässt 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/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, dass 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.
Das Dokumentenmodell der Layer im Netscape hat auch Auswirkungen auf im HTML-Dokument definierte Formulare, Grafiken oder Verweise. Berücksichtigen Sie hier, dass alle Elemente, die sich in einem Layer befinden, zum Dokument des Layers gehören und nicht zum HTML-Dokument.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <layer name="MeinLayer" bgcolor="#FFFFE0" left="300"> <img src="blau.gif" width="104" height="102" border="0" alt=""> </layer> <script type="text/javascript"> <!-- document.write("Anzahl der Bilder im HTML-Dokument: " + document.images.length); document.write("<br>Anzahl der Bilder im Layer: " + document.MeinLayer.document.images.length); //--> </script> </body></html> |
Im Beispiel wurde ein Layer definiert, der eine Grafik enthält. Weitere Bilder enthält die Datei nicht. Danach folgt ein JavaScriptbereich der mit der Methode document.write die Anzahl der Bilder im Dokument und im Layer ausgibt. Anhand des Beispieles sehen Sie, dass nur das Dokument des Layers eine Grafik enthält. Mit einer Adressierung wie document.MeinLayer.document
können Sie diese Grafik ansprechen und z.B. deren Eigenschaft src ändern.
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.
Anzeigebeispiel: So sieht's aus
<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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <layer></layer> <layer></layer> <layer></layer> <layer></layer> <script type="text/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.
Anzeigebeispiel: So sieht's aus
<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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/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 dass 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/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 dass 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </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.
Anzeigebeispiel: So sieht's aus
<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.
Anzeigebeispiel: So sieht's aus
<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.
Anzeigebeispiel: So sieht's aus
<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 type="text/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, dass in diesem Fall window.document.extern.src
zur Adressierung des anderen Layers verwendet werden muss, 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.
Anzeigebeispiel: So sieht's aus
<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. dass ein Layer sichtbar ist oder nicht.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/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> </layer> </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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <layer z-index="527" name="EinLayer"> <a href="javascript:alert(window.document.EinLayer.zIndex)">z-index?</a> </layer> </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, dass 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, dass 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/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.
Anzeigebeispiel: So sieht's aus
<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.
Anzeigebeispiel: So sieht's aus
<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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/javascript"> <!-- function Springen() { var x = parseInt(document.Springer.document.Eingabe.hr.value); var y = parseInt(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" action=""> 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 parseInt() 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/javascript"> <!-- function Springen() { var x = parseInt(document.Springer.document.Eingabe.hr.value); var y = parseInt(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" action=""> 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 moveTo()
aber Zahlen erwartet, wird die Funktion parseInt() 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, dass 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, dass 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/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ässt 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.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/javascript"> <!-- function Aendern() { var x = parseInt(document.L.document.Eingabe.hr.value); var y = parseInt(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" action=""> 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 resizeTo()
aber Zahlen erwartet, wird die Funktion parseInt() 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, dass document.Layername.routeEvent()
nicht auf Fenster-Ebene ansetzt, sondern auf Layerebene.
links | |
images | |
SELFHTML/Navigationshilfen JavaScript/DOM Objekt-Referenz |
© 2001 selfhtml@teamone.de