ウエブサイトに必携のページ先頭へ戻るの実装方法

2013年12月24日 18時09分

201312241809HCSW00.png

はじめに

いろいろなウエブサイトを閲覧していると、長いページに出くわすことがよく有ります。そんな時、スクロールしながらページ先頭へ戻るが出てくるのを期待したりしていませんか。今回は、長いページに必携の「ページ先頭へ戻る」の実装方法を解説します。

前提条件

作業の前提条件は、下記のとおりです。

ソフトウエアバージョン
OSWindows 7 Ultimate 32bit
CygwinSetup Version 2.831

ページ先頭へ戻るの実装

実装に必要な、JQuery、CSS/jsファイルを用意します。既にJQueryはダウンロードしていると思いますので、実装に必要なCSS/jsファイルを作成します。

  1. CSSファイルの作成

    今回作成する戻るボタンは、画像では無く▲を使用したシンプルな実装ですので、CSSファイルを作成します。

    $ cd /tmp/demo
    $ mkdir -p scroll
    $ vi scroll/scroll.css
    
    .scroll {
      display: none;
      position: fixed;
      bottom: 30px;
      right: 30px;
    }
    .scroll a {
      display: block;
      width: 36px;
      height: 36px;
      background-color: #333;
      text-align: center;
      color: #fff;
      font-size: 16px;
      text-decoration: none;
      line-height: 36px;
    }
    
  2. jsファイルの作成

    ページを一定量スクロールした時に、ページ先頭へ飛ぶ関数を作成します。

    $ vi scroll/scroll.js
    
    $(document).ready(function() {
      var scroll = $('.scroll');
      $(window).scroll(function () {
        if ($(this).scrollTop() > 700) {
          scroll.fadeIn();
        } else {
          scroll.fadeOut();
        }
      });
      scroll.click(function () {
        $('body, html').animate({ scrollTop: 0 }, 500);
        return false;
      });
    });
    

    4行目で、スクロール量を指定し、11行目でリンクをクリックした際のページ移動を定義しています。

  3. CSSファイルの指定

    作成したCSSファイルを、HTMLファイル中に指定します。

    <!DOCTYPE html>
    <html lang="ja">
      <head>
        <meta charset="utf-8">
        <title>020</title>
        <link href="scroll/scroll.css" rel="stylesheet">
      </head>
    
  4. jsファイルの指定

    作成したjsファイルを、HTMLファイル中に指定します。

        <script src="jquery-1.10.2.min.js"></script>
        <script src="scroll/scroll.js"></script>
      </body>
    </html>
    
  5. リンクの指定

    HTMLファイル中に、リンクを作成してページ先頭に戻れるようにします。

      <body id="top" style="min-height:2000px;">
        <p>ページ先頭です</p>
    
        <p class="scroll"><a href="#top">▲</a></p>
    

    ページを表示して、スクロールすると▲が表示され、クリックするとページ先頭に戻ることができます。

    201312241809HCSW01.png
    デモは、020.htmlからご覧頂けます。
    ファイルは、020.zipからダウンロードできます。