Hallo,
Oder mit CSS und der Pseudoklasse :target (Erklärung und Beispiel).
Das Rumspringen der Seite sollte Grund genug sein, das nicht so zu machen.
als ich das Prinzip für eine Präsentation im Intranet vor einigen Monaten angewendet habe, ist da nichts rumgesprungen. Kern der Geschichte ist im Prinzip sowas:
main > :not(:target)
{ display: none;
}
Die Negation sorgt neben der einleuchtenden Semantik ("blende alles aus, was nicht Target ist") auch dafür, dass weniger begabte Browser, die :target nicht kennen, wenigstens ersatzweise alle Inhalts-Container anzeigen.
Die UX ist genau dieselbe, als würde man konventionell auf eine neue Seite verlinken. Nur ohne Verzögerung. Wenn da bei dir was rumspringt, solltest du vielleicht den Hund an die Leine nehmen oder die Ziege anpflocken.
Live long and pros healthy,
Martin
Paradox: Wieso heißen die Dinger Kühlkörper, obwohl sie höllisch heiß werden?