Open5
Gsapと仲良くなる

やる気がでる記事が見つかりましたー!

突然こんなエラーが出てハマった。
調べたところ、2025年4月末にGSAPの全プラグインが無料化された影響で、旧トライアル版(有料時代の .js ファイル)が使えなくなったのが原因だった。
ScrollSmoother もそれに該当。
対処法
CDNで最新版(3.12.5)を読み込んだら解消。
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollSmoother.min.js"></script>
npm使ってる人は gsap@3.12.5
以上にアップすればOK。

ScrollSmootherが動かないと思ったら、3.12.5だとうまく動かなかった。
公式サイトを見たら、3.13.0から正式対応っぽい。以下で解決。
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollTrigger.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollSmoother.min.js"></script>
常に 公式のInstallationガイド を見とくべきだな。バージョン依存に気をつけます。

ScrollSmootherと仲良くなりたい①
data-speed
属性とは
特定の要素に対して「スクロール速度の倍率」を指定し、視差効果(パララックス) を演出する。
-
data-speed="1"
→ 親スクロールと同じ速度(基準値) -
data-speed > 1
(例:1.2
)
→ スクロールに対して速く動く(上方向に先に進む)
例:A(data-speed="1.2"
)→ 上へ素早く移動するイメージ -
data-speed < 1
(例:0.5
)
→ スクロールに対して遅く動く(下方向に残る)
例:B(data-speed="0.5"
)→ 下にとどまって残像のような動き
data-lag
属性とは
「動きに遅延(ラグ) を加える」ことで、スクロールの滑らかさや追従感を演出する。
-
data-lag="0.3"
→ 0.3秒程度のラグで追従
例:C(data-lag="0.3"
)→ なめらかに後からついてくる
補足ポイント
属性 | 効果 | よく使う用途 |
---|---|---|
data-speed |
スクロール速度に対する倍率指定 | 背景と前景に視差をつける |
data-lag |
アニメーション遅延(慣性っぽい動き) | テキスト・小要素に自然な動きの加算 |
使用例(HTML)
<div class="bg" data-speed="0.5">背景(ゆっくり動く)</div>
<div class="mid" data-speed="1">通常速度</div>
<div class="fg" data-speed="1.3">前景(速く動く)</div>
<div class="text" data-lag="0.2">ラグ付きテキスト</div>

ScrollSmoother vs Lenis 比較メモ
ScrollSmoother(GSAP公式)
-
wrapper
/content
の2構造が必須(親が固定・子がスクロール) - ScrollTriggerとの親和性が高い
- パララックスや背景遅延など、構造と連携を前提とした演出が得意
- ページ全体でスクロールを制御するタイプ
- 軽量ではないけど、アニメーション制御しやすい
- CDNでも簡単に導入可能(
ScrollSmoother.create()
)
Lenis(studio-freight製)
- 単一の
.scrollContainer
を指定するだけでOK(構造の縛りがゆるい) - 軽量・高速
- 他アニメーションライブラリとの共存しやすい
- 慣性スクロールに特化(逆にパララックスの制御は別途)
- スクロールイベントのカスタム制御も柔軟
- importして
new Lenis({...})
で使える
比較まとめ
項目 | ScrollSmoother | Lenis |
---|---|---|
スクロール制御 | 慣性+アニメ制御向き | 慣性スクロール専用 |
導入の手軽さ | やや複雑(構造制約あり) | シンプル |
アニメーション連携 | ◎(GSAP前提) | △(組み合わせ次第) |
軽さ | △(重め) | ◎(超軽量) |
パララックス | ◎ | △(ScrollTrigger併用要) |
構造制約 | 強め | ほぼなし |
使い分け所感
- 構造からガッツリ組むなら ScrollSmoother
- 既存サイトや柔軟性重視なら Lenis
- パララックスやScrollTrigger連携する場合はScrollSmootherの方がスムーズ
- 逆にただの慣性スクロールだけならLenisで十分