LoginSignup
17
21

More than 5 years have passed since last update.

iScrollの使い方

Posted at

概要

スマホWebサイトを作成する際に、ヘッダ、フッタを固定して、コンテンツ部分はスクロールさせたいと思いました。
 ヘッダの固定は特に問題なく出来るのですが、フッタの固定はWindowサイズが端末によって変わるので、どうしたものかと思っていました。

iScroll

 JSで何かよいパッケージがあるかと探したところ、iScrollというものがありましたので、それを導入した過程を書きます

URL

install(bower利用時)

$ bower install --save iscroll

※bowerを使っていない場合は、上記サイトからDLして下さい

how to

まずは、include

<script src="bower_components/iscroll/build/iscroll.js"></script>

※PATHはbowerを利用時のものです。適当に読み替えて下さい

body部を、3つのセクション(ヘッダ、コンテンツ、フッタ)に分けます

<div id="header"></div>
<div id="wrapper"></div>
<div id="footer"></div>

iScrollの設定をします。

    myScroll = new IScroll('#wrapper', {
        mouseWheel: true,
        scrollbars: false
    });

ここで、重要なのが第一引数としているセレクタの意味しているところです。iScrollは、ここで指定したセレクタ直下にあるblock要素をscrollさせるます。
故に、

<div id="wrapper">
  <ul>
    <li>...</li>
    ...
  </ul>
</div>

とすると、ul部分がスクロール対象と処理されるようになります。
詳しくは、iScrollのインスタンスを見てもらうと理解できると思います。

console.log(myScroll);

スクロール箇所を明確にするため、scrollerセクションを作ります

<div id="wrapper">
  <div id="scroller">
    <div id="content_1">...</div>
    <div id="content_2">...</div>
    <div id="content_3">...</div>
  </div>
</div>

上記までで、やりたいことは実現できるかと思います。

補足

使い方がまずいのか、下までscrollすると、最後のコンテンツが切れてしまう現象がありまして、対策として、最後のコンテンツはpadding-bottom:20pxしました。

17
21
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
21