Suzuki Blog Written by Yuki Suzuki

トップへ戻るボタンの実装方法【jQueryとFont Awesome】

jQuery Programming

こんにちは!スズキです。

今回はjQueryとFont Awesomeを使った、「トップへ戻るボタン」の実装方法を紹介します。

多くのwebサイトには、「トップへ戻るボタン」が用意されています。

クリックすると一瞬でサイトの上部に移動するあのボタンです。

これはjQueryを使えば簡単に実装することができます。

また、Font Awesomeを利用すれば、好きなアイコンをボタンにすることができます。

記事の内容

  • HTML
  • CSS
  • jQuery

スポンサードサーチ

HTML


  <!-- jQuery読み込み -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="pageTop.js"></script>

  <!-- Font Awesome読み込み -->
  <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet">

まずはheadタグ内で、jQueryのライブラリとFont AwesomeのCDNを読み込みます。

注意点として、jQueryライブラリを読みこんだ後にjsファイルを読み込むようにしましょう。

順番を間違えると、ボタンが作動しません。


  <!-- ボタン作成 -->
  <div id="page-top">
    <!-- 好きなアイコンを選択 -->
    <i class="fas fa-hand-point-up"></i>
  </div>

次に、bodyタグ内でボタンを作成します。

Font Awesomeのサイトから好きなアイコンを選び、コードをコピペします。

Font Awesome

CSS

/* ボタンを右下に表示する */
#page-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
}

/* ボタンの色を変更 */
#page-top i {
  color: red;
}

/* ボタンをホバーしたときにカーソルを変更 */
#page-top i:hover {
  cursor: pointer;
}

次にCSSを書いていきます。

主に、ボタンの表示位置、色やホバー時について指定すればOKだと思います。

スポンサードサーチ

jQuery

$ (function(){
  // 変数宣言と代入
  let pageTop = $('#page-top');
  // ボタン非表示
  pageTop.hide();
  // 80pxスクロールしたらボタン表示
  $ (window).scroll(function () {
    if ($(this).scrollTop() > 80) {
      // 0.3秒でフェードイン
      pageTop.fadeIn(300);
    } else {
      // 0.3秒でフェードアウト
      pageTop.fadeOut(300);
    }
  });
  // 0.5秒でページトップへ戻る
  pageTop.click(function () {
    $('body, html').animate({ scrollTop: 0}, 500);
    return false;
  })
})

最後にjQueryを書いていきます。

上記のコードの流れとして、まずはボタンを非表示にしておきます。

そして、下にスクロールしていくと、0.3秒かけてボタンを表示させます。

表示されたボタンをクリックすると、0.5秒かけてページ上部に移動します。

ボタンを表示するタイミング、フェードインとフェードアウトの時間、ページ上部に移動するまでの時間を適宜変更してください。

まとめ

いかがでしたか。

わずかこれだけのコードで、「トップへ戻るボタン」を実装できました。

今回はFont Awesomeを利用しましたが、もちろんテキストなどでもOKです。

簡単なのでぜひ試してみてください。

以上です。

コーディングを学ぶならデイトラ

Web制作コース

動画でプログラミングを学ぶなら

Udemy

オンラインスクールでプログラミングを学ぶなら

Skill Hacks