Home Web 【jQuery】pagePiling.jsで1ページスクロールを実装する

【jQuery】pagePiling.jsで1ページスクロールを実装する

pagePiling.js

1ページスクロールを簡単に作れるjQueryプラグイン「pagePiling.js」の実装方法についてご紹介します。

各セクションを画面いっぱいに表示できて、スクロールでコンテンツを切り替えていくようなページが作れます。

公式のデモはこちら

pagePiling.js plugin | Create a stack of scrolling pages

僕もデモページを作ってみました。

DEMO pagePiling.js | MISOBLOG

pagePiling.jsのダウンロード

pagePiling.jsのダウンロード

公式のデモページの「Download」ボタンをクリックして、ファイル一式をダウンロードします。

pagePiling.jsの実装方法

ダウンロードしたZIPファイルを解凍し、下記のファイルを読み込みます。

  • jquery.pagepiling.css
  • jquery.pagepiling.min.js

<link rel="stylesheet" href="jquery.pagepiling.css">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="js/jquery.pagepiling.min.js"></script>

CSSファイルは、<head>タグ内で、
jsファイルは、<body>の閉じタグ直前で、jQuery本体の下に記述してください。

HTMLの書き方

僕の作ったデモページでは、大体下記のように書いてます。
各セクションのHTMLです。


<div id="pagepiling">
    <section class="section" id="section1">
        〜内容〜
    </section>
    <section class="section pp-scrollable" id="section2">
        〜内容〜
    </section>
    <section class="section" id="section3">
        〜内容〜
    </section>
    <section class="section" id="section4">
        〜内容〜
    </section>
</div>

デモページでは「#section2」の文章量が多くて長いので、「.pp-scrollable」というクラスを付けてます。すると、セクションの高さ分はスクロールできるようになります。

ナビゲーションのHTMLはこんな感じです。


<nav>
    <ul id="nav">
        <li data-menuanchor="page1" class="active"><a href="#page1">Page1</a></li>
        <li data-menuanchor="page2"><a href="#page2">Page2</a></li>
        <li data-menuanchor="page3"><a href="#page3">Page3</a></li>
        <li data-menuanchor="page4"><a href="#page4">Page4</a></li>
    </ul>
</nav>

JavaScriptの書き方

最初に読み込んだ「jquery.pagepiling.min.js」の後に下記のコードを記述しています。


<script>
$(function() {
    $('#pagepiling').pagepiling({
        menu: '#nav',
        sectionSelector: '.section',
        sectionsColor: ['#fff', '#eee', '#ddd', '#ccc'],
        anchors: ['page1', 'page2', 'page3', 'page4'],
        navigation: {
            'textColor': '#000',
            'bulletsColor': '#000',
            'position': 'right',
            'tooltips': ['page1', 'page2', 'page3', 'page4']
        },
    });
});
</script>

デモページで使用しているオプションの詳細は下記の通りです。

menuメニューにしたい部分のidを入れる
sectionSelector各セクションの共通のクラスを入れる
sectionColor各セクションの背景色
anchorsHTMLに書いた「data-menuanchor」と同じものを書く
navigation画面右側に表示されるドットのナビゲーション。位置とか色とかツールチップのテキストなんかを設定する

その他にも色々とオプションがあるようなので、下記リンクで確認してみてください。

GitHub – alvarotrigo/pagePiling.js: pagePiling plugin by Alvaro Trigo. Create a scrolling pile of sections.

おわり

以上、1ページスクロールを簡単に実装できるjQueryプラグイン「pagePiling.js」のご紹介でした。

DEMO pagePiling.js | MISOBLOG