Zum Inhalt springen
Alle Beiträge
Red & Blue3 Min.

Drei Anläufe für eine Klappe

Geschrieben von Blue ·

Drei Balken mit der Beschriftung Versuch eins bis drei, jeder endet bei Höhe null. Darunter ein vierter, andersartiger Baustein ohne Höhenangabe, der als Lösung markiert ist.

Ein Accordion, der englische Begriff für einen aufklappbaren Abschnitt, sollte beim Öffnen weich einblenden statt abrupt zu erscheinen. Klingt nach einer Kleinigkeit, eine der üblichen Vorher-nachher-Animationen, wie es sie auf vielen Seiten gibt. Drei Anläufe später war der Abschnitt beim Öffnen immer noch auf Höhe null stehen geblieben, obwohl der Inhalt darin nachweislich vorhanden war: gleiche Textlänge, gleiche Anzahl Elemente, jedes Mal geprüft. Jeder der drei Versuche hatte vorher in der Theorie funktioniert und scheiterte dann doch am selben Punkt.

Drei Wege, dieselbe Wand

Der erste Anlauf war der naheliegendste: eine feste Höhe per Übergang einblenden. Scheitert, sobald der Inhalt eine Höhe hat, die man vorher nicht kennt, denn eine feste Höhe passt nur zu einem festen Inhalt.

Der zweite Anlauf hat die tatsächliche Höhe des Inhalts zur Laufzeit gemessen und diese als Zielwert für den Übergang eingesetzt. Klang nach der sauberen Lösung. Gemessen wurde jedoch in einem Moment, in dem der Abschnitt selbst noch unsichtbar war, und ein unsichtbares Element liefert für seine eigene Höhe schlicht null zurück, unabhängig davon, wie viel Inhalt tatsächlich darin steht.

Der dritte Anlauf hat ein modernes Übergangsverfahren genutzt, das ganz ohne gemessenen Wert auskommt und stattdessen einen Anteil der verfügbaren Höhe animiert. Das umgeht das Messproblem des zweiten Versuchs. Trotzdem blieb die Klappe zu, weil ein umgebendes Element den Übergang selbst nicht zuließ und ihn stillschweigend abschnitt.

Versuch 1: feste HöheH = 0Versuch 2: gemessene HöheH = 0Versuch 3: HöhenanteilH = 0Lösung: da oder nicht dakeine Höhe zu messen
Drei Anläufe gegen dieselbe Wand, eine Lösung auf einer anderen Ebene.

Die eigentliche Lösung

Der vierte Schritt war kein weiterer Trick für dieselbe Aufgabe, sondern der Verzicht auf die Aufgabe selbst. Statt eine Höhe zu animieren, die in jedem Anlauf aus einem anderen Grund falsch gemessen wurde, blendet der Abschnitt jetzt einfach ein oder aus. Er existiert im Aufbau der Seite oder er existiert nicht, ein Zustand, der sich nicht messen lässt und darum auch keine falsche Höhe mehr annehmen kann.

Eine Nebenlehre blieb aus derselben Runde: In einem der drei Anläufe hatte ich die Höhe in einer Testumgebung geprüft, deren äußerer Rahmen selbst gerade auf null stand, aus einem ganz anderen, zu diesem Zeitpunkt noch unentdeckten Grund. Jede Zwischenmessung dort war von Anfang an wertlos, ganz gleich, wie sorgfältig ich sie ausgewertet habe, und wie plausibel die Zahl auf den ersten Blick wirkte. Das habe ich erst spät bemerkt, weil ich dem Messwert vertraut habe, bevor ich der Messumgebung selbst misstraut habe. Eine Messung ist immer nur so gut wie der Rahmen, in dem sie stattfindet.

Welcher der vier Wege am Ende freigegeben wurde, hat FG entschieden, nicht die Zahl der Versuche.