So implementieren Sie reibungsloses Scrollen in JavaScript: Ein Leitfaden für Webentwickler
Mit diesem nativen Smooth-Scrolling-Effekt können Sie die Verwendung Ihrer Links zur gleichen Seite etwas angenehmer gestalten.
Smooth Scrolling ist eine Technik, die in der Webentwicklung verwendet wird, um Benutzern ein flüssiges Scrollerlebnis zu bieten. Es verbessert die Navigation innerhalb einer Webseite, indem es die Scrollbewegung anstelle des standardmäßigen abrupten Sprungs animiert.
Dieser umfassende Leitfaden für Webentwickler hilft Ihnen bei der Implementierung eines reibungslosen Scrollens mithilfe von JavaScript.
Beim sanften Scrollen scrollt eine Webseite sanft zum gewünschten Abschnitt, anstatt sofort dorthin zu springen. Dies macht das Scrollen für den Benutzer angenehmer und reibungsloser.
Reibungsloses Scrollen kann das Benutzererlebnis einer Webseite auf verschiedene Weise verbessern:
Um einen reibungslosen Bildlauf zu implementieren, können Sie das Standard-Bildlaufverhalten mithilfe von JavaScript ändern.
Erstellen Sie zunächst die erforderlichen Markup-Elemente für die verschiedenen Ansichtsfenster und die Navigation, um zwischen ihnen zu scrollen.
Dieser HTML-Code besteht aus einer Navigationsleiste mit drei Ankertags. Das href-Attribut jedes Ankers gibt die eindeutige Kennung des Zielabschnitts an (z. B. Abschnitt1, Abschnitt2, Abschnitt3). Dadurch wird sichergestellt, dass jeder Link, auf den Sie klicken, zum entsprechenden Zielelement navigiert.
Wenden Sie als Nächstes etwas CSS an, um die Seite optisch ansprechend und organisiert zu gestalten. Fügen Sie Folgendes hinzustyle.css:
Dadurch werden die Links als eine Reihe von Schaltflächen und jeder Abschnitt als Element voller Höhe dargestellt. Beachten Sie jedoch, dass das Klicken auf einen Link dazu führt, dass der Browser ohne Animation sofort zum entsprechenden Abschnitt springt.
Um eine flüssige Animation hinzuzufügen, wenn Sie auf ein Ankertag klicken, verwenden Sie alternativ die Methode scrollIntoView(). Die scrollIntoView()-Methode ist eine integrierte JavaScript-Methode der Element-Klasse, mit der Sie ein Element in den sichtbaren Bereich des Browserfensters scrollen können.
Wenn Sie diese Methode aufrufen, passt der Browser die Bildlaufposition des Elementcontainers (z. B. des Fensters oder eines scrollbaren Containers) an, um das Element sichtbar zu machen.
Fügen Sie Ihren JavaScript-Code hinzuscript.js Datei. Warten Sie zunächst, bis das DOMContentLoaded-Ereignis ausgelöst wird, bevor Sie etwas anderes tun. Dadurch wird sichergestellt, dass der Rückruf nur ausgeführt wird, wenn das DOM vollständig geladen und zur Bearbeitung bereit ist.
Als nächstes definieren Sie diemakeLinksSmooth() Funktion. Wählen Sie zunächst die Ankertags in der Navigation aus, da Sie deren Verhalten ändern möchten. Anschließend durchlaufen Sie jeden Link und fügen einen Ereignis-Listener für sein Klickereignis hinzu.
Definieren Sie abschließend dieSmoothScroll() Funktion, die ein Ereignis-Listener-Objekt akzeptiert. Rufen Sie „preventDefault()“ auf, um sicherzustellen, dass der Browser nicht seine Standardaktion ausführt, wenn Sie auf den Link klicken. Der folgende Code wird es ersetzen.
Erfassen Sie den href-Wert des aktuellen Ankertags und speichern Sie ihn in einer Variablen. Dieser Wert sollte die ID des Zielabschnitts mit dem Präfix „#“ sein, also verwenden Sie ihn, um das Element des Abschnitts über auszuwählenquerySelector() . Wenn das targetElement vorhanden ist, führen Sie es ausscrollIntoViewMethode und übergeben Sie das „sanfte“ Verhalten in einem Objektparameter, um den Effekt zu vervollständigen.
Dadurch scrollt Ihre fertige Webseite reibungslos zu den einzelnen Abschnitten, wenn Sie auf einen Link klicken:
Um das reibungslose Scrollerlebnis noch weiter zu verbessern, können Sie bestimmte Aspekte verfeinern.
Sie können die vertikale Position der Schriftrolle mit anpassenBlock Eigenschaft des Einstellungsarguments. Verwenden Sie Werte wie „Start“, „Mitte“ oder „Ende“, um den Teil des Zielelements zu identifizieren, zu dem gescrollt werden soll:
Wenden Sie Beschleunigungseffekte auf die Scroll-Animation an, um einen natürlicheren und optisch ansprechenderen Übergang zu erzielen. Beschleunigungsfunktionen wie „Ease-In“, „Ease-Out“ oder benutzerdefinierte kubische Bézier-Kurven können die Beschleunigung und Verlangsamung der Bildlaufbewegung steuern. Sie können eine benutzerdefinierte Timing-Funktion mit der CSS-Eigenschaft scroll-behavior oder eine JavaScript-Bibliothek wie „smooth-scroll“ verwenden, um das gleiche Ergebnis zu erzielen.
Stellen Sie sicher, dass Ihre reibungslose Scrolling-Implementierung in verschiedenen Browsern konsistent funktioniert. Testen und beheben Sie eventuell auftretende browserspezifische Besonderheiten oder Inkonsistenzen.
Sie können eine Website wie „Can I Use“ verwenden, um die Browserunterstützung beim Erstellen zu testen. Erwägen Sie die Verwendung einer JavaScript-Bibliothek oder eines Polyfills, um die browserübergreifende Kompatibilität sicherzustellen und allen Benutzern ein nahtloses Erlebnis zu bieten.
Sanftes Scrollen verleiht einen Hauch von Eleganz und verbessert das Benutzererlebnis, indem es einen flüssigen und optisch ansprechenden Scroll-Effekt erzeugt. Durch Befolgen der in diesem Leitfaden beschriebenen Schritte können Webentwickler mithilfe von JavaScript reibungsloses Scrollen implementieren.
Durch die Feinabstimmung des Scrollverhaltens, das Hinzufügen von Beschleunigungseffekten und die Sicherstellung der browserübergreifenden Kompatibilität wird das reibungslose Scrollerlebnis weiter verbessert und die Navigation auf Ihren Webseiten ansprechender und angenehmer.
style.cssscript.jsmakeLinksSmooth()SmoothScroll()querySelector()scrollIntoViewBlock