おそらくThree.jsが使われています
このサイトのJSのようなコードはwebpack等でバンドルされていますので、
簡単には中身を見ることができませんが、いくつかコツがあるのでご存知かもしれませんが書いておきます。
コードを展開
デベロッパーツール上でJSファイルを見ると、1行のJS1ファイルにまとめられていますがまずは展開します。
https://developers.google.com/web/tools/chrome-devtools/javascript/pretty-print?hl=ja
これで改行されて見やすくなりますが、変数名や関数名は圧縮され
var c = i[a.id];
のようなままです。
圧縮できない文字を探す
生のJSのメソッドやエラーメッセージ等は圧縮されません。
WebGLが使われているかどうかを調べるには
JavaScript
1getContext("webgl")
というメソッドを探します。
(ダブルクォーテーションがシングルクォーテーションになっているかもしれません)
当該のJSを検索してみると、このメソッドが見つかりますので
WebGLが使われている事がわかります。
次に主要なライブラリの文字で検索します。
Three.jsならthree
Pixi.jsならpixi
という具合です。
当該のJSから
JavaScript
1throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");
という文字が見つかりました。
こちらはThree.js内のエラーメッセージなので、このJSがThree.jsごとバンドルされていることがわかります。
ライブラリごとバンドルされていると、ライブラリ固有のメソッド名なども圧縮されてしまい、ここからは中身を読むことはなかなか難しいです。
スクロールに伴って動いている部分は、カメラを動かしているかシーン全体を動かしてるかのどちらかだと思います。
JavaScript
1window.addEventListener("scroll", this.handleScroll, {
2 passive: !0
3}),
4
5~~
6
7o.handleScroll = function(t) {
8 var e = t.direction;
9 o.props.isScrollDisabled || o.props.isChangingStage || ("up" === e ? o.props.decreaseStage() : (o.props.increaseStage(),
10 o.props.currentStage === o.levels.length && Object(L.a)() < I.a.fullHeader && o.props.openMobileMenu()))
11}
scrollイベントにhandleScrollという処理があててあり、
その処理はスクロールの上下を判定して、次のステージ(このJS内ではそう名付けているようです)に移動するという感じです。
移動方法に関しては、他に質問を立てられているようですので、
そちらでまとめたほうがよろしいと思います。
https://teratail.com/questions/157908
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。