3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

scrollMagicを利用してアニメーション

Last updated at Posted at 2020-03-26

scrollMagicを利用してアニメーションさせたけど、
CDNとかじゃなくてyarnでインストールしてimportした故にちょっとめんどくさかった話です。

TweenMaxとscrollMagicを組み合わせて、指定した要素をアニメーションさせたい。

jsはwebpackでバンドルしているので、importする。
yarnを利用してscrollmagicを追加。

yarn add scrollmagic
yarn add gsap //これはTweenMax

scrollMagicを使いたい所に以下のように記述。
ついでにTweenMaxも入れておく。

import scrollMagic from 'scrollmagic'
import {TweenMax} from 'gsap'

const controller = new ScrollMagic.Controller()
new ScrollMagic.Scene({
      triggerElement: tigger,
      triggerHook: hook
    })
     .setTween(TweenMax.from(
	// ~ここにアニメーション~
     ))
     .addTo(controller)

という風にしたがエラーが出た。

scrollMagicのissueなどを見て、その中にあるanimation.gsap.jsを使ってみたり(失敗)imports-loader入れてみたり(失敗)…
解決には至らずだった。

なんとか解決(?)

他色々と記事を読んでいくうちに、最終的には↓で動くようになった。

yarn add scrollmagic-plugin-gsap
import * as ScrollMagic from 'scrollmagic'
import { ScrollMagicPluginGsap } from 'scrollmagic-plugin-gsap'
import {TweenMax} from 'gsap'

ScrollMagicPluginGsap(ScrollMagic, TweenMax)

const controller = new ScrollMagic.Controller()
new ScrollMagic.Scene({
      triggerElement: tigger,
      triggerHook: hook
    })
     .setTween(TweenMax.from(
	// ~ここにアニメーション~
     ))
     .addTo(controller)

scrollMagicとTweenMaxを使ってアニメーションをしたいとき、
もしかするとまた引っ掛かるかもしれないので覚えメモ


★補足

scrollMagicの中にあるanimation.gsap.jsプラグインはES6モジュールとの互換性がないために、問題が結構発生しているらしい。
(参考元)
・scrollmagic-plugin-gsap
https://www.npmjs.com/package/scrollmagic-plugin-gsap

・scrollMagicのissue内
https://github.com/janpaepke/ScrollMagic/issues/842#issuecomment-573303518

3
0
1

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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?