Implementieren Auto Scroll in JavaScript

Anika Tabassum Era 15 Februar 2024
Implementieren Auto Scroll in JavaScript

JavaScript sorgt für ein besseres UI-Erlebnis und verfügt über eine breite Palette von Methoden. In unserem Problem, eine Seite so einzustellen, dass sie automatisch scrollt, werden wir einige der Funktionen überprüfen, die sich kombinieren und eine coole Benutzeroberfläche erstellen lassen.

Die grundlegende Aufgabe hier ist, dass wir unsere Webseite bei jedem Laden der Seite automatisch scrollen. Außerdem wird die Seite angehalten, wenn beim Scrollen Enter gedrückt wird.

Und nachdem Sie erneut Enter gedrückt haben, beginnt die Seite zu scrollen. Lassen Sie uns zum Codezaun springen und versuchen, den Codefluss zu verstehen.

Verwenden Sie scrollBy() mit setInterval() zum automatischen Scrollen in JavaScript

In der Demonstration haben wir eine größere Benutzeroberfläche als das Ansichtsfenster. Die Hauptaufgabe ist in JavaScript implementiert.

Wir haben 2 Funktionen initialisiert (startScroll und stopScroll). Die Funktion startScroll() aktiviert das Scrollen jedes Mal, wenn Enter gedrückt wird.

Und stopScroll() wird aktiviert, wenn das Drücken von Enter erkannt wird.

Die Funktion startScroll hat die Methoden setInterval() und scrollBy(). Wir werden beide Methoden zusammenführen.

Mit der Methode scrollBy() legen wir fest, welche Art von Scroll wir erwarten. Unser Code setzt das horizontale Scrollen auf 0 und das vertikale Scrollen auf 2 Einheiten.

Es ist eine statische Art, nach unten zu scrollen, und Sie werden nicht sehen, wie das Scrollen passiert. Die Seite springt und zeigt Sie nach dem gescrollten Teil an.

Also setzen wir das Zeitintervall auf 10 Millisekunden; somit geht die Seite visuell nach unten. In der Funktion stopScroll() löschen wir die Intervalle, indem wir die Instanz der aktuellen Seitenposition prüfen.

Wir werden auch eine bedingte Anweisung machen, um sicherzustellen, dass die Wiedergabe mit Enter angehalten wird. Lassen Sie uns den Code überprüfen.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="one" style="height: 250px; background:pink">
    <br>
    &nbsp On page load the scrolling of the page will be enabled. <br>
    &nbsp When pressed enter, the scroll will be halt. <br>
    &nbsp And when pressed again it will scroll. <br>
    &nbsp When the scroll meets the end of page, the scrolling function will stop. <br>
    &nbsp And you can manually scroll up. An when needed press enter again to scroll to down. <br>
  </div>
  <div id="one" style="height: 250px; background:purple"></div>
  <div id="one" style="height: 250px; background:cyan"></div>
  <div id="one" style="height: 250px; background:lightgreen"></div>
</body>
</html>
let scrollerID;
let paused = true;
let interval = 10;

function startScroll() {
  let id = setInterval(function() {
    window.scrollBy(0, 2);
    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
      // end of page?
      stopScroll();
    }
  }, interval);
  return id;
}

function stopScroll() {
  clearInterval(scrollerID);
}
document.body.addEventListener('keypress', function(event) {
  if (event.which == 13 || event.keyCode == 13) {
    // 'Enter' key
    if (paused == true) {
      scrollerID = startScroll();
      paused = false;
    } else {
      stopScroll();
      paused = true;
    }
  }
}, true);

Ausgabe:

Verwenden Sie scrollBy() mit setInterval() für Auto Scroll

Wie zu sehen ist, stoppt die Seite das Scrollen, wenn sie das Ende der Seite erreicht. Und wenn manuell wieder nach oben gescrollt wird, beruhigt es, den Scroller erneut zu spielen.

Und damit kann das Auto-Scroll-Verhalten implementiert werden.

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

Verwandter Artikel - JavaScript Scroll