Technologiekompetenz
Was ist “Parallax Scrolling”?
Unten Parallax Scrolling versteht man die dreidimensionale Bewegungseffekte, bei dem mehrere verschiedene Ebenen mit unterschiedlichen Geschwindigkeiten bewegen, wenn die Webseite scrollt.
Parallax Scrolling basiert auf dem Begriff Bewegungsparallaxe.
Unter Bewegungsparallaxe versteht man in der Wahrnehmungspsychologie den Effekt, der sich optisch ergibt, wenn verschiedene Objekte unterschiedlich voneinander entfernt in einer Landschaft verteilt sind und sich der Beobachter parallel zu diesen Objekten seitlich fortbewegt und dabei in Richtung Horizont blickt.
Bei diesem Phänomen bewegen sich die entfernte Objekte langsamer als die Objekte, die nah von dem Betrachter liegt. Beispielweise in Abb.1 bewegen sich die Berge horizontal langsamer als die Bäume und Gras, indem die Berge sich entfernter von dem honrizontal bewegenden Betrachter befinden, als die Pflanzen. Gleichzeitig bleibt der Mond und Himmel still als Hintergrund.
Mittels Parallax Scrolling lassen die Nutzer der Webseite ein schönes visuelles Erlebnis von dreidimensionalen Bewegungseffekte erfahren.
Ausprägungsformen
Um die Bewegungseffekte in Webseite einzusetzen, sollen einen stabilen Hintergrund und mehrere bewegliche Container oder Ebene mit entsprechenden Objekten eingeführt. Jede Ebene muss unabhängig voneinander sein und eine verschiedene Bewegungsgeschwindigkeit besitzen. Damit beim Scrolling wird dynamischer Effekt auf der Webseite erstellt. Die Verteilung aller Ebene und Bewegungsgeschwindigkeiten lassen sich mit HTML und CSS schaffen.
Beim Bewegungseffekt spielt das Scrolling der Webseit beziehungsweise Scrollbalken eine wichtige Rolle. Sie steuert es, in wiefern sich die Objekte verschiedener Ebenen bewegen. Die Einsetzung eines Eventlisteners und einer Callback-Funktion in JavaScript ermöglicht diese Steuerung.
Über die datailierte Funktionsweise wird in Technische Grundlagen noch erklärt.
Technische Grundlagen
Verteilung der Ebenen
Die Voraussetzung der Verteilung der Ebenen ist die Erstellung verschiedener Ebene. Gleichzeitig gilt der Hintergrund von body
als der stabile Hintergrund der Bewegungsparallaxe.
HTML:
|
|
Das Codestück zeigt, dass drei Container (Ebenen) jeweils mit id
“oben
“, “mittel
“ und “unten
“ erstellt werden. Die IDs kennzeichnen einerseits die Positionierung der drei Ebenen aufeinander. Andererseits weisen sie auf die unterschiedliche Bewegungsgeschwindigkeiten diese Ebenen: #oben
-Ebene bewegt sich am schnellsten, weil sie sehr nah vom Beobachter liegt; #unten
-Ebene bewegt sich selbstverständlich am langsamsten.
Obwohl die Struktur des Codestücks bietet einen Hinweis auf die Positionierung und Reihenfolge aller Ebenen, wird es nun mit Eigenschaft z-index
in CSS ermöglicht. Die Eigenschaft z-index
bezieht sich darauf, in welcher Reihenfolge Elemente auf dem Ausgabemedium dargestellt werden. Je größer z-index
ein Elment besitzt, desto näher liegt es von Beobachter, desto mehr oben befindet es sich in der Struktur der Webseite. Der Wert von z-index
muss Integer sein. Beide positive und negative ganze Zahl sind akzeptabel.
Nach der Struktur im Abb.2 wird die Eigenschaften in CSS so umgesetzt.
|
|
Es ist zu beachten, dass die Eigenschaft der Positionierung fixed
für alle div
-Elemente hinzugefügt wird. Diese Einstellung hat engen Zusammenhang mit der Steuerung der Bewegungsgeschwindigkeiten aller Ebenen. Darüber lässt sich in Steuerung der Bewegungsgeschwindigkeiten noch erzählen.
Steuerung der Bewegungsgeschwindigkeiten
Darstellung und Steuerung verschiedener Bewegungsgeschwindigkeit jeder Ebene gehört zum Schlüssel vom Bewegungseffekt.
Beispielweise wenn der Nutzer die Webseite nach unten um eine bestimmte Länge von Strecke scrollt, dann bewegt Körper der Webseite sich nach unten auch um die gleichlange Strecke. Alle andere Ebenen bewegen sich nach unten nicht um diese gleichlange Strecke sondern um drei verschiedene Kürzere. Auf diese Weise werden unterschiedliche Bewegungsgeschwindigkeiten dargestellt und Dynamik geschaffen.
Aber wie kann die verschiedene Länge von Strecke beim Scrollen ermöglicht? Lassen wir uns den Code von JavaScript ansehen.
|
|
Wenn die Webseite beispielweise um 1000px gescrollt wird, ist der Wert von window.pageYOffset
1000. Dann sind die Werte der top
-Eigenschaft von #oben
, #mittel
und #unten
jeweils -700px, -400px und -200px. Das heißt bewegen sich die drei Ebenen jeweils um 700px, 400px und 200px. Bei jedem Scrollen bewegen sich der Körper und drei Ebenen um verschiedene lange Strecke, was zum Bewegungsparallaxe-Effekt führt.
Die Steuerung der verschiedenen Bewegungsstrecken wird wie oben eingesetzt, vorausgesetzt, dass die postion
-Eigenschaft dieser Ebene fixed
eingestellt. Auf dieser Weise bewegen sich diese Ebenen selber nicht spontan mit Maus-Scrollen, sondern die Position der Ebene hängt sich von der Callback-Funktion ab, die von Event scroll
ausgelöst wird.
Erklärung des Demonstrators
Zum eigenen Demonstrator erstelle ich eine Webseite, die eine vertikale Szene von Unterwasserwelt darstellt.
Struktur schaffen
Die Darstellung der Szene besteht aus vier Teilen: blaues Meer als Hintergrund und drei Ebene jeweils für Fischschwarm, Bubbles und einzelne Fische. Der Fischschwarm befinden sich am entferntesten von dem Betrachter und bewegen sich selbstverständlich am langsamsten. Die einzelne Fische sind ganz nah vom Betrachter und bewegen sich am schnellsten. Die Ebene der Bubbles liegt zwischen die oben genannten Ebenen.
Ein Stück der Szene ist auszuwählen, um die Struktur der Ebenen klar zu zeigen.
Gemäß der Struktur wird die folgende HTML- und CSS-Dokument erstellt.
HTML:
CSS:
|
|
Steuerung der Bewegungsgeschwindigkeiten
Anschließend kommt die Steuerung der “Bewegungsgeschwindigkeiten” jeder Ebene in JavaScript.
JavaScript:
|
|
Wenn der Besucher die Maus scrollt, wird Event scroll
ausgelöst. Die auszugebene Daten lassen sich auf Konsole gezeigt.
Aus der Abb.5 ergibt sich die Schlußfolgerung, dass bei jedem Scrollen, die obere / nahe Ebene sich immer eine längere Strecke bewegt, als die untere / entfernte Ebene. Dadurch sieht es aus, dass die Elemente sich auf der Webseite mit verschiedenen Geschwindigkeiten bewegen. Daher hat die Besucher ein visuelles Erlebnis von Bewegungsparallaxe.
PS: Alle Bilder in Demo sind aus Internet.