Scrollen Sie in JavaScript zu ID

Anika Tabassum Era 15 Februar 2024
  1. Verwenden Sie die scrollIntoView()-Methode, um in JavaScript zur ID zu scrollen
  2. Verwenden Sie die scrollTo()-Methode mit manueller Ansichtsberechnung, um in JavaScript zur ID zu scrollen
  3. Verwenden Sie die scrollTo()-Methode mit scrollLeft und scrollTop, um in JavaScript zur ID zu scrollen
Scrollen Sie in JavaScript zu ID

Im Allgemeinen können wir, wenn wir ein Anker-Tag in unserem HTML-Body setzen und das href auf eine bestimmte ID setzen, zu diesem Element scrollen. Aber diese Praxis wird nicht meistens für dynamische Fälle begrüßt.

Wenn Sie zu einer ID derselben Webseite scrollen, nennen wir dies interne Verlinkung. In den folgenden Beispielen werden wir Möglichkeiten sehen, interne Verlinkungen über JavaScript-Methoden durchzuführen.

Die Methode scrollIntoView() ist die zuverlässigste Art, zu einer bestimmten ID zu scrollen. Aber der wichtigste Fall ist, den richtigen querySelector zu bekommen.

Nur dann ist es möglich, zu diesem Element zu routen. Dann werden wir auch die Methode scrollTo() verwenden, um die Offset-Bemerkungen einzurichten.

Lassen Sie uns diese Methoden zum besseren Verständnis überprüfen.

Verwenden Sie die scrollIntoView()-Methode, um in JavaScript zur ID zu scrollen

Um in JavaScript zu einer bestimmten ID zu scrollen, können wir die Methode scrollIntoView() verwenden.

Hochscrollen

Um vom Aktionslink zu Elementen im oberen Segment zu scrollen, setzen wir den Parameter von scrollIntoView() auf true. Nach dem Anklicken des Links sorgt dies dafür, dass die Seite gestresst wird und wir das obige Ziel erreichen.

Code-Auszug:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Document</title>
  <style>

    #blue{
      height: 200px;
      background: blue;
    }
    #buff{
      height:800px;
    }
    a{
      text-decoration: none;
      color: black;
    }
  </style>
</head>
<body>
  <div id="blue"></div>
  <div id="buff"></div>
  <a href="javascript: scroll();">Get to BLUE</a>
  <script>
  function scroll(){
    var getMeTo = document.getElementById("blue");
    getMeTo.scrollIntoView({behavior: 'smooth'}, true);
  }
  </script>
</body>
</html>

Ausgang:

scrollIntoView nach oben scrollen

Runterscrollen

Ebenso setzen wir hier den zusätzlichen Parameter auf false, und somit wird die Differenz erzeugt.

Code-Auszug:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Document</title>
  <style>
    #blue{
      height: 200px;
      background: blue;
    }
    #buff{
      height:800px;
    }
    a{
      text-decoration: none;
      color: black;
    }
  </style>
</head>
<body>
  <a href="javascript: scroll();">Get to BLUE</a>
  <div id="buff"></div>
  <div id="blue"></div>
  <script>
  function scroll(){
    var getMeTo = document.getElementById("blue");
   getMeTo.scrollIntoView({behavior: 'smooth'}, false);
  }
  </script>
</body>
</html>

Ausgang:

scrollIntoView nach unten scrollen

Verwenden Sie die scrollTo()-Methode mit manueller Ansichtsberechnung, um in JavaScript zur ID zu scrollen

In diesem Fall wählen wir zunächst unser Element aus und stellen dann auch den Offset-Wert ein. Für den nächsten Schritt werden wir die Position der Oberseite des Körpers erfassen und auf ähnliche Weise die oberste Position unserer Elemente über die Methode .getBoundingClientRect() sicherstellen.

Als nächstes führen wir eine allgemeine mathematische Operation durch, um die gewünschten Maße für die Schriftrolle zu erhalten. Der Codezaun demonstriert dies intuitiver.

Code-Auszug:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Document</title>
  <style>
    #purple{
      height: 200px;
      background: purple;
    }
    #buff{
      height:800px;
    }
    a{
      text-decoration: none;
      color: black;
    }
  </style>
</head>
<body>
  <div id="purple"></div>
  <div id="buff"></div>
  <a href="javascript: scroll();">Get to Purple</a>
  <script>
  function scroll(){
    const element = document.getElementById('purple');
    const offset = 50;
    const bodyRect = document.body.getBoundingClientRect().top;
    const elementRect = element.getBoundingClientRect().top;
    const elementPosition = elementRect - bodyRect;
    const offsetPosition = elementPosition - offset;

window.scrollTo({
  top: offsetPosition,
  behavior: 'smooth'
});
  }
  </script>
</body>
</html>

Ausgang:

Methode scrollTo() mit manueller Berechnung der Ansicht verwenden

Verwenden Sie die scrollTo()-Methode mit scrollLeft und scrollTop, um in JavaScript zur ID zu scrollen

Dieses Beispiel impliziert das Setzen der Attribute für die Methode scrollTo(). Die Syntax ist einfach zu verstehen.

Wir nehmen die Instanz unseres Elements und setzen die obere und linke Position des Scrolls über element.scrollTop und element.scrollLeft. Lassen Sie uns in die Codebasis springen.

Code-Auszug:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Document</title>
  <style>
    #yellow{
      height: 200px;
      background: yellow;
    }
    #buff{
      height:800px;
    }
    a{
      text-decoration: none;
      color: black;
    }
  </style>
</head>
<body>
  <div id="yellow"></div>
  <div id="buff"></div>
  <a href="javascript: scroll();">Get to yellow</a>
  <script>
  function scroll(){
    var getMeTo = document.getElementById("yellow");
    window.scrollTo({
      top: getMeTo.scrollTop,
      left: getMeTo.scrollLeft});
  }
  </script>
</body>
</html>

Ausgang:

Verwenden Sie die Methode scrollTo() mit scrollLeft und scrollTop

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