CREATOR BLOG

指定した要素がスクロールで画面内に入った時、イベントを発動させるjQueryプラグインjquery-scrollInFunc.js

2015/02/16
tan
  • このエントリーをはてなブックマークに追加

前回公開した「指定した要素がスクロールで画面内に入った時、内包要素を順番にフェードインするjQueryプラグインjquery-scrollInTurn.js」ですが、最近このプラグインだけでは物足りなくなってきました。
「指定した要素がスクロールで画面内に入った時」、特定のアニメーション効果などを実装したいときが多々あったので、その部分に特化したプラグインをもうひとつ作りました。

その名も「指定した要素がスクロールで画面内に入った時、イベントを発動させるjQueryプラグインjquery-scrollInFunc.js」です!
ファーストビューに入っていない要素に対してのアニメーションを、スクロール位置によって発動させることができます。


もくじ

Demo

指定した要素がスクロールで画面内に入った時、「高さを200pxにするアニメーション」イベントを発動させています。

class="element"を付与した要素で囲む

class="target"を付与した要素

Download

ダウンロードしてからご利用ください。
jquery-scrollInFunc.js(ver1.0.0)
15/2/9 ver1.0.0 公開

How to

jQueryライブラリの読み込み

jquery-scrollInFunc.jsの読み込み

jQueryライブラリ読み込みの記述より下に記述します。

htmlのマークアップ

トリガーとなる要素にclassまたはidを付与します。
ここでは一例として、class="demo1"を付与した要素でくくりました。
また、効果をつけたい要素にclass="target"を付与しています。

jquery-scrollInFuncの呼び出し

jquery-scrollInFunc.js読み込みの記述より下に記述します。
トリガーとなる要素をセレクタで指定し(ここでは.demo1)、scrollInFuncを呼び出します。
.demo1の要素が画面内に入った時、targetReachに記述した「高さを200pxにするアニメーション」が発動されます。
この時、引数elmはトリガーとなる要素(ここでは.demo1)を指します。

Options

delayHeight 初期値:400
0にすると、トリガーとなる要素をスクロールで通り越して初めてイベントが起こります。delayHeightの値の分だけトリガーとなる要素の手前でイベントが起こるようになります。
targetReach(function型) 初期値:なし
トリガーとなる要素に到達した時に発動するイベントをここに書きます。引数elmはトリガーとなる要素で指定したセレクタです。
ex)
fadeOutEvent 初期値:true
トリガーとなる要素よりスクロール位置が手前になった場合、targetBackで指定したイベントを発動させるか否か指定できます。
targetBack(function型) 初期値:なし
トリガーとなる要素よりスクロール位置が手前になった場合に発動させるイベントをここに書きます。引数elmはトリガーとなる要素で指定したセレクタです。
ex)

Examples

「左からスライドインする見出し」と「ぼかしておいてはっきりする背景画像(IEとFirefoxはサポート外)」は別ページにデモを作りました。
下記デモではaddClassでクラスを付与しているだけなのですが、CSS3と組み合わせることで表現の幅が広がります。
Examples

最後に

  • MIT license
  • スマホでも利用できます
  • jquery-1.11.0で検証したので、1.11.0以下での動作は保証していません
  • バグがあったら連絡いただけると幸いです

Recent Entry

CSSの単位まとめ pxからvm/vh/vmin/vmaxまで

レスポンシブHTMLメールを作ってみての感想

CSSのリファクタリングでした5つのこと

大人が読んでも頭を使う絵本の紹介

サイト内にうまくInstagramを取り入れてるサイト11選

Category

Archive