Skip to content

Alles für WordPress, Webentwicklung — und mehr

✨ Block-Enthüllungsanimation beim Scrollen: drei Ansätze für Landingpages

✨ Block-Enthüllungsanimation beim Scrollen: drei Ansätze für Landingpages

Ein leerer Bildschirm ist das Erste, was ein Besucher sieht, während die Seite lädt. Dabei könnte er stattdessen sanft erscheinende Inhaltsblöcke sehen.

Scroll-gesteuerte Animation ist längst nicht mehr nur dekorativ. Sie lenkt die Aufmerksamkeit, bestimmt den Scroll-Rhythmus und erweckt Landingpages zum Leben. Wer jedoch wahllos ein Werkzeug auswählt, riskiert Performance-Probleme und zerschossene Layouts auf mobilen Geräten.

Nachfolgend finden Sie drei praxistaugliche Ansätze für Scroll-Animation im Jahr 2026, von nativem JavaScript ohne jede Abhängigkeit bis hin zu fertigen Bibliotheken mit Dutzenden Effekten. Als Bonus analysieren wir den fatalen Konstruktionsfehler von Revealator, einem Plugin, das einst beliebt war, aber im Jahr 2020 stecken geblieben ist.

💡 Kurzüberblick:

  • Sie verstehen, wie die Intersection Observer API Reveal-Animationen ohne jQuery oder Drittanbieter-Bibliotheken ermöglicht
  • Sie lernen AOS kennen, die populärste Bibliothek (28.000 Sterne auf GitHub), ihre Klassen, Attribute und die Einrichtung in 5 Minuten
  • Sie vergleichen ScrollReveal und AOS hinsichtlich Lernkurve, Bundle-Größe und Flexibilität
  • Sie erfahren, warum Revealator in neuen Projekten nicht mehr verwendet werden kann
  • Sie erhalten eine Vergleichstabelle und eine fertige Entscheidungshilfe für Ihre Aufgabe

Intersection Observer API, ein nativer Ansatz ohne Abhängigkeiten

Eine Browser-API, die verfolgt, wann ein Element den Viewport schneidet. Kein jQuery, keine Polyfills für moderne Browser. Die Unterstützung erreicht laut Can I Use über 97% des weltweiten Publikums.

Das Prinzip ist einfach: Sie erstellen einen Observer, weisen ihn Zielelementen zu und erhalten einen Callback, sobald ein Element den sichtbaren Bereich betritt. In diesem Moment fügen Sie eine CSS-Klasse mit Animation hinzu.

1const observer = new IntersectionObserver((entries) => {
2 entries.forEach(entry => {
3 if (entry.isIntersecting) {
4 entry.target.classList.add('visible');
5 }
6 });
7}, { threshold: 0.1 });
8
9document.querySelectorAll('.reveal').forEach(el => observer.observe(el));

Der obige Code überwacht alle Elemente mit der Klasse .reveal. Sobald ein Element den Viewport betritt (der Wert für threshold ist im Code festgelegt), wird die Animation ausgelöst. Das zugehörige CSS definieren Sie selbst, mit beliebigen @keyframes.

1.reveal {
2 opacity: 0;
3 transform: translateY(30px);
4 transition: opacity 0.6s ease-out, transform 0.6s ease-out;
5}
6
7.reveal.visible {
8 opacity: 1;
9 transform: translateY(0);
10}

Vorteile des Ansatzes: keine Abhängigkeiten, kein Bundle-Wachstum, volle Kontrolle über Trigger und CSS-Animation. Geeignet für Projekte, bei denen jedes Kilobyte zählt und Performance auf schwachen Geräten kritisch ist.

Nachteile: Sie müssen einen eigenen Wrapper für erneutes Auslösen, Verzögerungen und kaskadierende Animationen schreiben. Bibliotheken liefern das von Haus aus.

Für ein reines JS-Projekt mit hohen Geschwindigkeitsanforderungen entscheiden Sie sich für Intersection Observer. Wenn Sie den Wrapper nicht manuell schreiben möchten, sehen Sie sich AOS an.

AOS (Animate on Scroll), eine Bibliothek mit 28.000 Sternen

AOS ist der De-facto-Standard für Scroll-Animationen in der Webentwicklung. Das GitHub-Repository verzeichnet über 28.000 Sterne und 2.600 Forks. Die Bibliothek ist so einfach, dass die Einrichtung exakt zwei Minuten dauert.

Binden Sie CSS und JS ein, per CDN oder npm:

1<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
2<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
3<script>AOS.init();</script>

Danach erwacht jedes Element mit einem data-aos-Attribut beim Scrollen zum Leben:

1<div data-aos="fade-up">Этот блок выплывет снизу</div>
2<div data-aos="zoom-in" data-aos-delay="300">Этот — с задержкой 300 мс</div>

Es gibt über 30 eingebaute Effekte: Fade, Flip, Zoom, Slide in alle Richtungen. Sie steuern Dauer (data-aos-duration), Verzögerung (data-aos-delay), Versatz (data-aos-offset) und sogar Anker (data-aos-anchor), wenn die Animation eines Elements an das Erscheinen eines anderen gekoppelt ist.

Vorteile:

  • Einrichtung in 5 Minuten, drei Codezeilen und Data-Attribute
  • Über 30 eingebaute Easing-Funktionen, kaskadierende und Anker-Animationen
  • Aktives Repository, Bugs werden geschlossen, Issues haben keinen Überhang

Nachteile:

  • Abhängigkeit vom Autor: Das Projekt lebt, aber Updates sind selten (letzte Version ist 2.3.1)
  • Reiner CSS-Ansatz: keine programmatische Logik (bedingte Animationen, dynamische Parameter)

Verwenden Sie AOS, wenn: Sie Entwicklungsgeschwindigkeit benötigen, über 30 Effekte out of the box, Animation auf einer typischen Landingpage mit einem Dutzend Blöcken.

ScrollReveal, eine JavaScript-zentrierte Alternative

ScrollReveal ist eine Bibliothek derselben Klasse mit über 22.000 Sternen auf GitHub. Anders als AOS wird sie von JavaScript aus gesteuert, nicht über Data-Attribute.

1ScrollReveal().reveal('.block', {
2 delay: 200,
3 distance: '50px',
4 origin: 'bottom',
5 duration: 600,
6 reset: true
7});

Wesentlicher Unterschied zu AOS: vollständige API in JS. Sie ändern Animationsparameter programmatisch, laden sie vom Server, binden sie an Bedingungen. Für komplexe Logik ist das die Lösung.

Vorteile:

  • JS-Steuerung: Sie können die Animation von überall im Code aus verwalten
  • reset: true, wiederholte Animation beim Hoch- und Runterscrollen
  • Unterstützung für CSS-Selektoren beliebiger Komplexität

Nachteile:

  • Etwas steilere Lernkurve als bei AOS, kein visueller Data-Attribute-Ansatz
  • Weniger eingebaute Easing-Funktionen

Die Wahl zwischen AOS und ScrollReveal läuft auf eine Frage hinaus: Data-Attribute oder JavaScript. Für eine typische Landingpage nehmen Sie AOS. Für eine SPA, bei der Animation Teil der Geschäftslogik ist, nehmen Sie ScrollReveal.

Revealator: eine historische Notiz

Revealator ist ein jQuery-Plugin von QODIO, das in den Jahren 2016 bis 2018 eine einfache Lösung zum Animieren von Blöcken war: Sie vergeben Klassen wie revealator-fade, revealator-slideup und revealator-zoomout, und Elemente erscheinen beim Scrollen. Die Demoseite auf jQueryScript funktioniert noch, Sie können die Effekte sehen.

Das Problem ist, dass das GitHub-Repository im April 2023 mit dem Vermerk „DEPRECATED, no longer actively maintained" archiviert wurde. Der letzte nennenswerte Commit stammt aus Dezember 2020. Das Plugin zieht jQuery als Abhängigkeit nach sich, in einer Welt, in der 97% der Seiten für neue Funktionen kein jQuery mehr verwenden. Es gibt keinen Support, Bugs werden nicht behoben, moderne Browser-APIs werden nicht genutzt.

Verwenden Sie Revealator nicht in neuen Projekten. Wenn Sie es in einer alten Codebasis vorfinden, migrieren Sie zu Intersection Observer oder AOS. Die Aufgabe ist dieselbe, aber Performance und Wartbarkeit sind um eine Größenordnung höher.

Vergleich der Ansätze

Kriterium

Intersection Observer

AOS

ScrollReveal

Revealator

Abhängigkeiten

0

0 (Vanilla JS)

0 (Vanilla JS)

jQuery

Größe (min+gzip)

0 KB (nativ)

~6 KB

~8 KB

~4 KB + jQuery (~30 KB)

Eingebaute Effekte

Unbegrenzt (eigenes CSS)

30+

15+

8

Steuerung

JS-API

Data-Attribute

JS-API

CSS-Klassen

Wiederholte Animation

Manuell

Nein

reset: true

revealator-once / ohne Klasse

Browser-Unterstützung

97%+

96%+

96%+

95%+ (IE9+)

Projektstatus

W3C-Standard

Aktiv

Aktiv

Archiviert (2023)

Für eine schnelle Landingpage genügt AOS. Für eine SPA mit programmatischer Steuerung ScrollReveal. Für ein Projekt mit strengen Performance-Vorgaben und Nulltoleranz gegenüber Abhängigkeiten reiner Intersection Observer. Revealator ist aus dem Rennen.

Sehen Sie sich die 6-minütige Analyse von Kevin Powell an, er zeigt scroll-gesteuerte Reveal-Animation mit reinem CSS und Intersection Observer, ohne eine einzige Bibliothek.

⁉️🤔 Häufige Fragen

Warum Reveal-Animation auf einer Landingpage verwenden, bremst das die Seite nicht aus?

Richtig gemachte Animation bremst nichts aus. Intersection Observer arbeitet asynchron außerhalb des Haupt-Threads, CSS-Animationen rendern auf der GPU über transform und opacity, es wird kein Repaint ausgelöst. Probleme beginnen, wenn Sie width, height oder left/top animieren, das bringt das Layout ins Ruckeln. Bibliotheken wie AOS animieren ausschließlich transform und opacity. Die wichtigste Regel lautet: Animieren Sie keine Geometrie.

Kann man AOS auf einer Seite mit einem schweren JS-Framework wie React oder Vue einsetzen?

Das ist möglich, aber mit einer Einschränkung: AOS scannt das DOM bei der Initialisierung und sieht keine Elemente, die reaktiv nach AOS.init() hinzugefügt werden. Die Lösung besteht darin, AOS.refresh() nach dem Mounten der Komponente aufzurufen. In React ist das useEffect, in Vue mounted. Für eine tiefe Integration mit dem State ist ScrollReveal komfortabler, da es rein von JS aus gesteuert wird.

Inwiefern ist Intersection Observer besser als der alte Ansatz mit jQuery-Scroll-Events?

Der jQuery-Ansatz hängt einen Listener an scroll, das Event feuert dutzende Male pro Sekunde, jeder Aufruf liest die Elementgeometrie (löst Reflow aus), die Seite ruckelt. Intersection Observer arbeitet asynchron, der Callback wird einmalig bei tatsächlicher Sichtbarkeitsänderung aufgerufen. Auf einer Seite mit 50 animierten Blöcken beträgt der Performance-Unterschied laut Tests der WebKit-Entwickler etwa das 40-Fache zugunsten des Observers.

Was tun, wenn die Animation auf Mobilgeräten ruckelt?

Prüfen Sie erstens, ob Sie ausschließlich transform und opacity animieren. Fügen Sie zweitens will-change: transform, opacity zum Element hinzu, bevor die Animation startet, und entfernen Sie es danach. Reduzieren Sie drittens auf schwachen Geräten die duration auf 200 bis 300 ms: Eine schnelle Animation wird als flüssiger wahrgenommen als eine ruckelnde langsame. Auf Geräten mit 60 Hz Bildwiederholrate ermüdet eine Animation unter 300 ms das Auge nicht.

Kann man Reveal-Animation ganz ohne JavaScript realisieren?

Teilweise, über CSS Scroll-driven Animations, aber die Spezifikation ist noch experimentell: Sie funktioniert in Chrome 115+, jedoch nicht in Firefox oder Safari. Für den produktiven Einsatz benötigen Sie entweder Intersection Observer (nativ, ohne Bibliotheken) oder ein Polyfill. Für eine Produktivseite im Jahr 2026 ist die Minimalvariante Intersection Observer ohne Bibliotheken: natives JS, null Abhängigkeiten, volle Unterstützung.

Welchen Ansatz für eine Landingpage im Jahr 2026 wählen

Wenn Sie eine typische Landingpage mit 5 bis 10 Blöcken und einer Deadline von „gestern" erstellen, nehmen Sie AOS. Drei Codezeilen, 30 Effekte, kaum Möglichkeiten für Fehler.

Handelt es sich um eine SPA auf React/Vue und die Animation ist an Geschäftslogik gebunden, nehmen Sie ScrollReveal. Die programmatische Steuerung macht die zusätzlichen 5 Minuten Einrichtungszeit wett.

Wenn das Performance-Budget streng ist und der Designer einzigartige Animationen entworfen hat, nehmen Sie Intersection Observer. Null Kilobyte, volle Kontrolle über CSS, maximale Geschwindigkeit.

Verwenden Sie Revealator nicht. Das Plugin war 2016 gut, aber die Welt hat sich weitergedreht.

Probieren Sie AOS auf einer Testseite aus, npm install aos --save oder CDN in 5 Minuten. Erleben Sie den Unterschied zwischen einer statischen Landingpage und einer Seite, deren Blöcke beim Scrollen zum Leben erwachen. Schreiben Sie in die Kommentare, für welchen Ansatz Sie sich entschieden haben und warum.