Heim > Web-Frontend > js-Tutorial > So implementieren Sie Anker-Scrolling in React

So implementieren Sie Anker-Scrolling in React

王林
Freigeben: 2020-12-23 10:56:43
nach vorne
3573 Leute haben es durchsucht

So implementieren Sie Anker-Scrolling in React

Tipps:

Um Anker-Scrolling zu implementieren, verwenden Sie nicht das Tag a, da dies zu Routing-Sprüngen führt.

(Teilen von Lernvideos: Video-Tutorial reagieren)

Hier verwenden wir die neue API von H5, scrollToAnchor

Die vorherige Methode zur Verwendung eines Tags:

<a href=&#39;#activity1&#39;></a>    //定义锚点
<div name=&#39;activity1&#39;></div>   //跳转到的锚点
但是在单页面中,这样会进行前端路由的修改
Nach dem Login kopieren

Verwenden Sie die scrollToAnchor-API, um

<a onClick={() => this.scrollToAnchor(name)}></a>    //定义锚点

<div id=&#39;activity1&#39;></div>   //跳转到的锚点
//函数定义
scrollToAnchor = (anchorName) => {
    if (anchorName) {
        // 找到锚点
        let anchorElement = document.getElementById(anchorName);
        // 如果对应id的锚点存在,就跳转到锚点
        if(anchorElement) { anchorElement.scrollIntoView({block: &#39;start&#39;, behavior: &#39;smooth&#39;}); }
    }
  }
Nach dem Login kopieren

Block zu ändern: bedeutet Scrollen zum Anker Die Ober- oder Unterseite des Punktes, Start/Ende

Verhalten: Zeigt den Scrolleffekt an, automatisch/sofort/glatt (Scrolleffekt)

1 Ändern Sie das traditionelle Namensattribut des Ankerpunkts in das ID-Attribut. Auf diese Weise können wir die Methode document.getElementById verwenden, um den Ankerpunkt bequem abzufragen.

2. Entfernen Sie das href-Attribut der ursprünglichen roten Schaltfläche und fügen Sie dann eine onClick-Methode hinzu. Die onClick-Methode übergibt die ID eines Ankerpunkts und verwendet dann die folgende Funktion, um den Ankerpunkt zu finden und zum Ankerpunkt zu springen.

Verwandte Empfehlungen: Reaktions-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Anker-Scrolling in React. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage