▲TOPへ戻る

【javascript】ある程度スクロールしたら現れる、ページトップに戻るボタンの作り方

topBtn

このページにも設置してある、ページトップに戻るボタンの作り方について解説します。 現時点ではまだスクロール量が多くないので、そのボタンは現れてないかと思います。

ポイント

  1. <a>タグのhref#topとする。
  2. position: fixedで画面に固定
  3. oppacity: 0で、まずはボタンを非表示
  4. スクロールし、pageYOffsetの値が1000(任意)になったら、ボタンを表示させる

HTML

HTML
  <div id="topbutton">
    <a href="#top">▲TOPへ戻る</a>   <!-- ➀ -->
  </div>

CSS

CSS
#topbutton {
    /* ▼ボタンの表示位置を画面の右下に固定 */
    position: fixed; /* ➁  表示場所を固定 */
    bottom: 10px; /* 画面下端からの距離 */
    right: 30px; /* 画面右端からの距離 */
    oppacity: 0; /* ➂  ▼最初は非表示に */
    z-index: 10000; /* 前面に表示 */
  }

javascript

javascript
  window.addEventListener("scroll", function () {
    const topBtn = document.getElementById("topbutton");
    const scroll = window.pageYOffset;
    if (scroll > 1000) {      // ➃
      topBtn.style.opacity = 0.5;
    } else topBtn.style.opacity = 0; 
  });

参考

画面スクロール(pageYOffset)に関しては以下を参照してください。

js
【Javascript】要素の高さを取得する方法。getBoundingClientRectについて

こんな記事も読まれています。

profile

パソコン好きなガオ

コロナ禍によるステイホームを機にプログラミングを学ぶ。パソコンに関してはプロではないが、ちょっと詳しい程度。

パソコン

javascript

カメラ

ブログ