ホームページ  >  記事  >  ウェブフロントエンド  >  Reactでアンカースクロールを実装する方法

Reactでアンカースクロールを実装する方法

王林
王林転載
2020-12-23 10:56:433524ブラウズ

Reactでアンカースクロールを実装する方法

ヒント:

アンカー スクロールを実装するには、ルーティング ジャンプが発生するため、a タグを使用しないでください。

(学習ビデオ共有: 反応ビデオ チュートリアル)

ここでは H5 の新しい API、scrollToAnchor が使用されています

タグを使用する以前の方法:

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

scrollToAnchor API を使用して変更します

<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;}); }
    }
  }

block: アンカー ポイントの上部または下部へのスクロールを示します。start/end

behavior: スクロールの効果を示します。 auto/instant/smooth (スクロール効果)

1. アンカー ポイントの従来の name 属性を id 属性に変更します。このようにして、 document.getElementById メソッドを使用してアンカー ポイントを簡単にクエリできます。

2. 元の赤いボタンの href 属性を削除し、onClick メソッドを追加します。 onClick メソッドはアンカー ポイントの ID を渡し、次の関数を使用してアンカー ポイントを検索し、アンカー ポイントにジャンプします。

関連する推奨事項: 反応チュートリアル

以上がReactでアンカースクロールを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。