Die Schnittstelle IntersectionObserver ist eine JavaScript-API, die es Ihnen ermöglicht, eine Funktion auszuführen, wenn ein Element das Ansichtsfenster betritt oder verlässt. Sie wird häufig verwendet, um Animationen beim Scrollen auszulösen.

Allerdings können bei der Verwendung von IntersectionObserver einige Probleme auftreten:
  • Der IntersectionObserver-Konstruktor wird in älteren Browsern nicht unterstützt.
  • Wenn das Element, das Sie beobachten wollen, nicht im DOM ist, bevor Sie den Observer erstellen funktioniert dieser leider nicht. Dies kann passieren, wenn Sie Skripte in der falschen Reihenfolge ausführen.
  • Wenn das Element, das Sie beobachten wollen, ausgeblendet ist (z. B. mit dem Stil display: none), wird es nicht beobachtet.
  • Wenn es sich bei der auszuführenden Animation um eine Animation mit Transformationen in Bezug auf Größe und Position handelt, kann ein Flackern auftreten.

    Das liegt vor allem daran, dass der Observer ständig gefeuert wird, also auch dann wenn die animation noch läuft. Hier ist es besser auf die klassische Lösung zu setzen und den scroll-Event zu nutzen, um zu schauen, ob sich das zu beobachtende Element im Viewport befindet, denn das lässt uns etwas Zeit.
Ich nutze Cookies,
aber nur technisch notwendige Session-Cookies.