JavaScriptプログラムに関する各種メモ書き

JavaScriptでスクロールして要素が画面内に入るとアニメーションする ScrollTrigger

● ScrollTrigger

https://github.com/terwanerik/ScrollTrigger
https://terwanerik.github.io/ScrollTrigger/

● 使い方

1. JavaScriptを読み込む

<script src="./ScrollTrigger.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function(){
  var trigger = new ScrollTrigger();
});
</script>

2. アニメーションさせたい要素に data-scroll をつける

<div>テスト</div>

 ↓

<div data-scroll>テスト</div>

これだけで、準備完了です。

・要素が画面内に入ってないときは class="invisible"
・要素が画面内に入ったときは class="visible"

が自動的につけられます。 クラス名を変更したい時は次のようにオプションを変更します

3-A. オプションを変更する( 個別に設定する場合 )

<div data-scroll="toggle(after, before)">テスト</div>

とすると、要素が出現した時に「.after」クラスがつけられます。

・要素が画面内に入ってないときは class="before"
・要素が画面内に入ったときは class="after"

3-B. オプションを変更する( まとめて設定する場合 )

document.addEventListener('DOMContentLoaded', function(){
  var trigger = new ScrollTrigger({
    toggle: {
      visible: 'cls-animate',
      hidden : 'cls-before_animate'
    },
    offset: {
      x: 0,
      y: 100
    },
    addHeight: true,
    once: true
  }, document.body, window);
});
オプション 説明
toggle 表示/非表示の時につける class 名 を好きなクラスに設定します
offset 何ピクセル手前で発火するかを指定します。
addHeight 要素が完全に表示された時に表示が発火します
once 1度だけアニメーションさせます

4. アニメーションcssクラスを探す

アニメーション用のcssクラスを探して気に入ったのをつけます

ライブラリ名 リンク
Motion CSS http://pavlyukpetr.com/awesome/
Animate.css https://daneden.github.io/animate.css/
Wicked Css Animation http://kristofferandreasen.github.io/wickedCSS/
cssanimation.io https://cssanimation.io/
mimic.css https://erictreacy.me/mimic.css/
Vivify http://vivify.mkcreative.cz/
Magic https://minimamente.com/example/magic_animations/
OBNOXIOUS.CSS http://tholman.com/obnoxious/
It's Tuesday. https://shakrmedia.github.io/tuesday/
EFFECKT.CSS https://h5bp.github.io/Effeckt.css/
CSShake https://elrumordelaluz.github.io/csshake/
Hover.css https://ianlunn.github.io/Hover/
imagehover.css http://www.imagehover.io/
animista http://animista.net/
WAIT! ANIMATE http://waitanimate.wstone.io/
No.1291
09/04 15:31

edit