ANIMATION · INDEX LINE DRAW
DESIGN STUDY · ANIMATION

スクロールで
線が描かれる。

まず描く図形を選んでから下へスクロール。進捗に同期して SVG のストロークが順に引かれ、上へ戻すと逆再生で消える。進捗=スクロール位置なので、途中で止めれば描きかけのまま留まる。

SHAPE — 図形を選ぶ
SCROLL ↓
0%

線が引き終わった。

SVG の各要素の全長を getTotalLength() で測り、stroke-dashoffset をスクロール進捗で 0 まで詰めるだけ。要素を並べた順に区間を割り当てて、順番に描かれる。

使い方

— USAGE
01

2 ファイルをコピー

本ディレクトリの style.cssscript.js を移植先にコピー。外部依存ゼロ。

02

マークアップ

背の高い .line-draw[data-line-draw] の中に .ld-sticky(sticky)と <svg> を置き、描きたい線に class="ld-path" を付ける(path でも circle でも可)。

03

図形を切り替え

script.jsSHAPES に図形を登録すると、ピッカーが自動生成される。多角形・スパイラルは polygon() / spiral() ヘルパーでパラメトリック生成。切り替えると現在のスクロール進捗で再描画される。

カスタマイズ可能な CSS 変数

--ld-stroke線の色#0a0a0a
--ld-accent.ld-accent を付けた線の色#ff2d55
--ld-width線の太さ2
--ld-scroll描画に使うスクロール区間(セクション高さ)260vh