ページ先頭へ戻るボタンを作ってみよう!
ページ先頭へ戻るボタン
 
このボタンをクリックorタップしても何も起きません。この画面をスクロールすると、画面右下に現れる同じ画像をクリックするとページ先頭へスムーズに移動します。やってみてください。
コード(Codepen)
コードはこちらから見ることができます。使用画像はボタン画像を右クリックしてダウンロードしてください。
See the Pen ページ先頭へ戻るボタン by Shin (@shin-ichi) on CodePen.
解説
【HTML解説】
HTML部分はオーソドックスなボタンのコードになっています。buttonタグで画像タグを挟んであります。
【CSS解説】
クラス「page-top」にposition: sticky;という一行を入れ、このボタン(HTML部分)をフッターのすぐ前に記述します。すると画面が読み込まれたときはページの上部までボタンが上がってきていて、画面を最下部までスクロールしていくと、フッターにかかる前に止まってくれます。
【JavaScript解説】
pageTop.addEventListener('click', () =>
window.scrollTo({ top: 0, behavior: 'smooth' })
);
画像をクリックすると、ページ先頭にスムーズに戻ります。scrollTo()でスクロールする場所を指定します。behavior: 'smooth'はスクロールをスムーズにするコードです。
window.addEventListener('scroll', () => {
pageTop.classList.toggle('hyouji', window.scrollY > 0);
});
で画像がクリックされると、ページの高さ(スクロール量)が0より大きい時、「hyouji」クラス(画像を表示するクラス。デフォルトでは画像は非表示になっています。)を付与し、表示させています。そのため、画像をクリックしてページ先頭へ戻ると、画像は非表示になります。
 
    