ScrollRevealのデモ

Origin

default: bottom

動作の起点となる方向。指定の方向から要素の移動が始まる

まずはデフォルト

default

次は左から

origin: left

次は右から

origin: right

さいごに上から

origin: top

...

Distance

default: '20px'

アニメーションで移動する距離。
以下では移動がわかりやすいようにorigin: 'left'を指定しています

まずはデフォルト

default(20px)

次は0を指定

distance: '0'

次は100pxを指定した場合

distance: '100px'

...

Duration

default: 500

アニメーションの長さ。単位はミリセカンド(ms / milliseconds)

まずはデフォルト

default (500ms)

次にデフォルトの半分(250 ms)

duration: 250

次はデフォルトの2倍(1000 ms)。だいぶゆっくり

duration: 1000

次は3秒(3000 ms)を指定。かなり長い

duration: 3000

...

Delay

default: 0

アニメーションの遅延。単位はミリセカンド(ms)

まずはデフォルト

default(0)

次は1000msの遅延。
要素が表示されてアニメーションが始まるまで1秒。

結構長いですね

delay: 1000

次は2000ms。長すぎ?

delay: 2000

次は3000ms。
長すぎて気づかれない可能性もありそうです

delay: 3000

...

Rotate

default: { x: 0, y: 0, z: 0 }

X、Y、Z軸で回転を指定できます。
以下ではアニメーションを見やすくするために長さを3秒に設定しています

まずはX軸を基軸に180度回転させます。

rotate: { x: 180, y: 0, z: 0 }

次はY軸を基軸に180度回転させます。

rotate: { x: 0, y: 180, z: 0 }

次はZ軸を基軸に180度回転させます。

rotate: { x: 0, y: 0, z: 180 }

次は3軸すべてに180度回転を指定してみます。

rotate: { x: 180, y: 180, z: 180 }

なかなかアクロバティックな動きになりますねw

Opacity

default: 0

アニメーション開始時の透明度。
デフォルトは0なので要素が見えない状態からアニメーションが始まります。

まずはデフォルト

opacity: 0

次に透明度を0.5に設定してもの

opacity: 0.5

次は1に指定

opacity: 1

...

Scale

default: 0.9

アニメーションが始まる際の要素のスケール(大きさ)

まずはデフォルト。0.9(少し小さいサイズ)からアニメーションが始まります

scale: 0.9

次に1。等倍です

scale: 1

次は0.5。半分のサイズ

scale: 0.5

次は2。倍のサイズ

scale: "2"

...

Easing

default: 'cubic-bezier(0.6, 0.2, 0.1, 1)'

アニメーションのイージング。デフォルトは上記の設定。ease、ease-in、ease-out、ease-in-out、linearなどのキーワードも使用可

まずはデフォルト

default

次は「ease」

easing: 'ease'

次は「linear」

easing: 'linear'

次は「ease-in」

easing: 'ease-in'

次は「ease-out」

easing: 'ease-out'

次は「ease-in-out」

easing: 'ease-in-out'

違いがわかりずらいので、すべて一緒に見てみましょう。
長さを2秒、距離を400px、透明度を1、スケールを1にしました

ease
ease-in
ease-out
ease-in-out
linear

それでもわかりにくい?笑

Mobile

default: true

以下はfalseに設定。
あくまでUserAgentでの検知ですが、iPhoneやAndroidで表示されないはずです。

mobile: false

...

useDelay

default: 'always'

遅延の種類を指定できます。
以下、全てにdelay: 2000を指定しています。

まずはデフォルト

default

次ははじめの1回だけ遅延

useDelay: 'once'

次は読み込まれた時に遅延。ページの最上部に表示する要素などに使えそうです。その他ではあまり意味ないかもしれません

useDelay: 'onload'

...

viewFactor

default: 0.2

アニメーションを開始するために表示が必要な要素の割合。0.2 = 20%

以下の例では、distance: 0、scale: 0も指定しています

まずはデフォルト

default

次は0.5。要素が半分見えたところでアニメーションが開始します

viewFactor: 0.5

次は1.0

viewFactor: 1

次は0

viewFactor: 0

...

viewOffset

default: { top: 0, right: 0, bottom: 0, left: 0 }

例えば、上に固定のナビゲーションバーなどがある場合に使える

まずはデフォルト

default

次は上に100pxのオフセットを設定

viewOffset: { top: 100 }

...