# Was beim Scrollen tatsächlich passiert: Bruns, Merher, Drescher und Pollack

Live geprüft am 7. September 2026. Diese Untersuchung beschreibt das konkrete Verhalten der Originalseiten. Sie ist keine Empfehlung für stärkere Animationen und keine Beschreibung neuer Demo-Effekte.

## Die vier Ergebnisse

| Original | Was der Wheel-Impuls bewirkt | Was sich zusätzlich bewegt |
|---|---|---|
| [Andreas Bruns](https://andreasbruns.com/) | Diskreter Projektwechsel: schon +1 genügt; die Seite selbst bleibt bei `scrollY = 0`. | Die Titelbahn fährt horizontal, das Hintergrundvideo überblendet. Größerer Wheel-Weg macht den Wechsel nicht weiter oder schneller. |
| [Eugen Merher](https://www.eugen-merher.com/) | Gewöhnliches vertikales Dokument-Scrollen. | Der 132 px hohe Kopf bleibt oben. Die animierten Bildvorschauen bewegen sich unabhängig vom Scrollen. |
| [Simon Drescher](https://www.simondrescher.com/) | Gewöhnliches vertikales Dokument-Scrollen; der Kopf scrollt mit aus dem Bild. | Ein dezenter Bildzoom entsteht durch Hover. Er ist kein Scrollzoom. |
| [Ekkehart Pollack](https://www.epollack.com/) | Gewöhnliches vertikales Dokument-Scrollen der Filmkacheln. | Der zunächst angeheftete 137 px hohe Kopf blendet nach einer Scrollgrenze aus und nahe dem Seitenanfang wieder ein. |

## Einheitlicher Ablauf

Jede Seite wurde in einem frischen isolierten Chrome-Kontext bei 1440 × 1000 px aufgerufen. Nach dem Laden folgten die vier Wheel-Eingaben **+1, +120, +480, −120**. Zwischen den Eingaben lagen jeweils ungefähr 700 ms. Bei Bruns wurde der erste Übergang zusätzlich nach ungefähr 34, 81, 201, 401 und 702 ms gemessen.

An festen DOM-Elementen wurden Bildschirmposition, Größe, Transform, Deckkraft und Dokumentposition gemessen. Für gewöhnliches Scrollen bleibt `Bildschirm-y + scrollY` konstant. Ein feststehender Header verhält sich anders: Sein Bildschirm-y bleibt bei null. Ein echter Zoom oder eine andere zusätzliche Animation verändert außerdem Größe oder Transform.

Ein erster Durchlauf fiel bei Drescher durch eine leichte Skalierung auf. Deshalb folgte eine gesonderte Kontrolle mit Maus außerhalb des untersuchten Hero-Bildes, anschließend gezieltem Hover ohne weitere Scrollbewegung. Pollacks Header wurde mit kleinen 40-px-Schritten hin und zurück sowie Ruhephasen ohne Scrollen nachgeprüft. Die Kontrollen verhindern, dass Hover oder eine zeitabhängige Veränderung irrtümlich als Scrollanimation gelten.

Die Messung gilt für die untersuchten Desktop-Ansichten. Aus den vier kurzen Wegen wird nicht abgeleitet, dass an keiner anderen Stelle einer Website ein weiterer Effekt existieren kann. Die bereits dokumentierten Smartphoneansichten stehen in den ausführlichen Referenzberichten.

## Gemessene Dokumentbewegung

| Zustand | Bruns `scrollY` | Merher `scrollY` | Drescher `scrollY` | Pollack `scrollY` |
|---|---:|---:|---:|---:|
| Ausgangspunkt | 0 | 0 | 0 | 0 |
| Nach +1 | 0 | 1 | 1 | 1 |
| Nach +120 | 0 | 121 | 121 | 121 |
| Nach +480 | 0 | 502 | 601 | 601 |
| Nach −120 | 0 | 382 | 481 | 481 |
| Dokumenthöhe | 1000 | 1502 | 8985 | 3561 |

Merher endet bei +480 schon bei y = 502, weil das Dokument nur 1502 px hoch und der Viewport 1000 px hoch ist. Das ist die normale untere Scrollgrenze, kein Snap oder inszenierter Halt.

## Andreas Bruns: kleiner Impuls, vollständiger Wechsel

**Beobachtung im Browser:** Schon der einzelne +1-Impuls wechselte die Auswahl von COOP zu Harley-Davidson. Bei der ersten Messung 34 ms nach der Eingabe war bereits Index 1 als aktuell markiert. Die sichtbare Titelbahn war zu diesem Zeitpunkt erst unterwegs. `scrollY` und Dokumenthöhe blieben unverändert bei 0 beziehungsweise 1000 px.

| Zeitpunkt nach +1 | Aktive Auswahl | Linke Position der Titelbahn |
|---|---|---:|
| Vorher | COOP, Index 0 | −1455,23 px |
| 34 ms | Harley-Davidson, Index 1 | −1468,44 px |
| 81 ms | Harley-Davidson, Index 1 | −1481,66 px |
| 201 ms | Harley-Davidson, Index 1 | −1546,06 px |
| 401 ms | Harley-Davidson, Index 1 | −1656,19 px |
| 702 ms | Harley-Davidson, Index 1 | −1785,56 px |

Ein positiver Impuls fährt die Titelbahn hier nach links zum nächsten Projekt. Nach dem negativen Impuls fuhr sie nach rechts zurück und endete exakt wieder bei −1455,23 px. Der größere positive +120- und +480-Impuls dazwischen bewirkte keinen zusätzlichen Projektwechsel, weil beide innerhalb der Sperrzeit lagen. Im gesamten Test wurde kein `ended`-Videoereignis aufgezeichnet; der beobachtete Wechsel stammte deshalb nicht vom Ende eines Preview-Films.

**Primärquelle:** Das [öffentlich ausgelieferte Interaktionsskript](https://andreasbruns.com/wp-content/themes/andreasbruns/js/andreasjs.min.js) wurde separat gelesen. Es bestätigt die folgenden voneinander zu trennenden Werte:

- Die Projektbahn verwendet einen Slider mit **600 ms** und CSS-Easing `ease`; pro akzeptierter Eingabe geht es um genau einen Eintrag weiter.
- Der Wheel-Handler prüft das **Vorzeichen** von `deltaY` beziehungsweise `deltaX`. Eine aufsummierte Mindeststrecke enthält dieser Handler nicht. Ein negativer Wert wählt den vorigen Eintrag, sonst den nächsten.
- Ein weiterer Wheel-Wechsel wird erst akzeptiert, wenn **mehr als 1800 ms** seit der letzten akzeptierten Eingabe vergangen sind. Das ist eine Eingabesperre, nicht die Animationsdauer.
- Bereits im `beforeChange`-Ablauf wird der neue Film aktiv. Sein Layer überblendet per Opacity innerhalb von **400 ms**. Nach **800 ms** wird der alte Videolayer zurückgesetzt und verborgen.
- Der davon unabhängige Hover-Wechsel arbeitet mit nur **100 ms**. Während Projekt-Hover aktiv ist, nimmt der Wheel-Handler keinen neuen Sliderwechsel an.
- Das Ende einer Preview kann ebenfalls zum nächsten Projekt führen. Dieser zusätzliche zeitliche Trigger wurde im Vergleichslauf durch mitprotokollierte `ended`-Ereignisse ausgeschlossen.

**Einordnung:** Ein Wheel-Impuls startet eine feste, zeitbasierte Kombination aus horizontaler Titelbewegung und kurzem Crossfade. Es gibt keinen kontinuierlichen Zusammenhang „doppelte Scrollstrecke = doppelte Bildverschiebung“. Das Hintergrundbild wird bei diesem Wechsel nicht durch einen großen Wipe oder ein Herauszoomen ersetzt. Die konkrete Referenz ist damit präziser beschrieben als durch „aufwendiger Slider“.

[Kurze Originalaufnahme der Wheel-Folge](motion/bruns-wheel-sequence.webm) · [Ausgangsbild](motion/bruns-scroll-baseline.png) · [Endbild nach Rückkehr](motion/bruns-scroll-result.png)

## Eugen Merher: normaler Scrollweg unter festem Kopf

Die erste gemessene Filmkachel ist stets 253 × 190 px groß. Ihre Bildschirm-y-Werte lauten 132, 131, 11, −370 und −250 px. Addiert man die jeweiligen `scrollY`-Werte, erhält man jedes Mal **132 px**. Ihr Transform bleibt `none`.

Der Header ist **132 px** hoch, hat `position: sticky` und bleibt in allen fünf Zuständen bei Bildschirm-y = 0 und Opacity 1. Damit ist die räumliche Bewegung erklärt: Das Raster läuft unter dem feststehenden Kopf hindurch. In diesem untersuchten Bereich verändern sich Bildgrößen und Kachelpositionen nicht zusätzlich zum normalen Scrollweg.

Die in der vorherigen Stilanalyse bestätigten bewegten WebP-Vorschauen sind eine getrennte Ebene. Sie verändern ihren Bildinhalt auch ohne Wheel-Eingabe. Ihr „Giphy“-Charakter ist deshalb kein Nachweis für eine Scrollanimation. Ebenso gehört das beim Überfahren eingeblendete Projektlabel zum Hover.

[Ausgangsbild](motion/merher-scroll-baseline.png) · [Endbild](motion/merher-scroll-result.png) · [Ausführliche Stilanalyse](bruns-merher.md)

## Simon Drescher: der kleine Zoom gehört zum Hover

Der weiße Kopf ist **174 px** hoch und statisch im Dokument positioniert. Nach 121 px Scrollen liegt er bei Bildschirm-y = −121 px; nach 601 px bei −601 px. Er bleibt nicht oben angeheftet.

Im kontrollierten Durchlauf außerhalb des Hero-Hovers behält das erste Motiv seine **1440 × 599,98 px**. Der Transform bleibt `none`, und seine Bildschirm-y-Position beträgt genau `174 − scrollY`: am Anfang 174 px, nach +1 also 173 px, bei y = 121 noch 53 px und bei y = 601 schließlich −427 px.

Danach wurde die Maus ohne weiteren Wheel-Impuls auf das Hero bewegt. `scrollY` blieb bei **1**, aber das Bild wuchs in Richtung **scale(1.025)**. Nach 1,1 Sekunden war bereits scale(1.0245) gemessen. Die berechnete Transition ist **1,2 s cubic-bezier(0.445, 0.05, 0.55, 0.95)**. Beim Verlassen des Hero ging der Maßstab bei weiterhin unverändertem Scrollstand wieder auf 1 zurück.

**Einordnung:** Das Raster scrollt normal. Der kleine, weiche Motivzoom ist ein Hover-Effekt und kann während einer Scrollprüfung zufällig mit ausgelöst werden, wenn das Bild unter dem Mauszeiger liegt. Er sollte nicht als scrollgekoppelte Skalierung nachgebaut werden. In dem untersuchten Weg ist kein zusätzliches Pinning, Parallax-Verschieben oder Masken-Scrubbing der Bildflächen belegt.

[Ausgangsbild](motion/drescher-scroll-baseline.png) · [Endbild des ersten Vergleichslaufs](motion/drescher-scroll-result.png) · [Kontrollmessung ohne Hero-Hover](motion/scroll-effects-refined.json) · [Ausführliche Stilanalyse](drescher-pollack.md)

## Ekkehart Pollack: normales Raster, kleine Header-Ausblendung

Die erste Filmkachel bleibt bei **424 × 238,5 px**, x = 64 px und `transform: none`. Ihre Bildschirmposition folgt genau `322 − scrollY`; die Bildfläche selbst wird beim Scrollen nicht skaliert oder seitlich verschoben.

Der Kopf zeigt hingegen einen tatsächlichen Scroll-Effekt. Er ist **137 px** hoch, bleibt geometrisch bei y = 0 und verwendet Sticky-Positionierung. Seine Deckkraft ändert sich nach kleinen Schritten wie folgt:

| Weg im zusätzlichen 40-px-Test | Sichtbarer Headerzustand |
|---|---|
| y = 0, danach 1,6 s ohne Eingabe | Opacity 1 bleibt unverändert |
| Abwärts bei y = 40, 80, 120, 160 | Opacity 1 |
| Abwärts bei y = 200, 240, 280, 320 | Opacity 0; Transition 0,2 s ease-in |
| 1,6 s Pause bei y = 320 | Bleibt unsichtbar |
| Aufwärts bei y = 280, 240, 200, 160, 120 | Bleibt unsichtbar |
| Aufwärts bei y = 80, 40, 0 | Opacity 1; Transition 0,2 s |
| 1,6 s Pause bei y = 0 | Bleibt sichtbar |

Damit ist die Ausblendung mit Scrollen verbunden, statt von weiterlaufender Videozeit oder nachträglichem Laden zu stammen. Sie ist außerdem nicht einfach die Umkehr derselben einzelnen Grenze: Beim untersuchten Gegenlauf blieb der Kopf länger unsichtbar. Die Messung grenzt das Ausblenden auf **mehr als 160 bis höchstens 200 px** und das Wiedereinblenden auf **weniger als 120 bis mindestens 80 px** ein. Ein exakter globaler Schwellenwert oder eine universelle Regel für andere Viewports wird daraus ausdrücklich nicht erfunden.

Die starken dunklen Filmkacheln und das Playzeichen aus dem Hover-Screenshot sind davon getrennt. Sie entstehen beim Überfahren einer Kachel, während das schwarze Raster ansonsten gewöhnlich durch das Dokument läuft.

[Ausgangsbild](motion/pollack-scroll-baseline.png) · [Endbild mit verborgenem Kopf](motion/pollack-scroll-result.png) · [Hin-/Rücklauf und Ruhekontrollen](motion/scroll-effects-refined.json) · [Ausführliche Stilanalyse](drescher-pollack.md)

## Daten und Grenzen

- [Einheitlicher Vergleich mit allen Messpunkten](motion/scroll-comparison-observations.json)
- [Kontrollmessungen Drescher / Pollack](motion/scroll-effects-refined.json)
- [Skript für den gemeinsamen Wheel-Vergleich](scripts/compare-reference-scroll.cjs)
- [Skript für Hover-Isolation und Header-Gegenlauf](scripts/refine-scroll-effects.cjs)

Die Aufnahmen und Werte belegen die beschriebenen Zustände auf den vier Originalseiten. Sie messen keine Bildrate und sind keine allgemeine Performance-Bewertung. Vor allem bedeutet ein bei null bleibendes `window.scrollY` allein noch nicht, dass eine Seite einen transformierten Gesamtscroller verwendet: Sie kann auch in einem eigenen scrollbaren Wrapper laufen. Deshalb werden Containermechanik und Animation bei Detroit und YK in eigenen Quellenanalysen geprüft.
