スクロールアニメーション

デモ

押してください。特定の要素までスクロールします。

余白です。

押してください。ページトップまでスクロールします。

JSコードコピー

使い方

スクロールアニメーションのトリガーとなる要素にdata-jscopyand="scrollanimation"を付与してください。
特定の要素までスクロールする場合は、対象の要素にid属性を付与した後、トリガー要素にdata-jscopyand-attributes="id名"を付与してください。
トリガー要素にdata-jscopyand-attributes="id名"を付与しなかった場合はページトップへスクロールアニメーションします。

サンプルHTMLを表示する

解説

JSコードの解説を見てみる

このスクロールアニメーション機能は1画面で複数の設置を想定しているため、document.querySelectorAllでトリガーとなる全ての要素を取得し、変数に格納します。

取得した全トリガー要素に対して反復処理を行い、イベントを設定していきます。

スクロール先の要素を特定します。
data-jscopyand-attributes="id名"が付与されている場合は、その値を使って要素の特定を試みます。
付与されていない場合はページトップへスクロールさせるため、document.bodyにします。
要素が特定できなかった場合には処理を終了します。

window.scrollToで任意の位置までスクロールさせます。
オプションのtopにスクロール後の位置を指定します。
これは現在のスクロール位置 + スクロール先の要素までのスクロール量で求めます。
オプションにbehavior: 'smooth'を指定することでアニメーションになります。

ヘルプ・コンタクト

機能に関するご質問は、このページの下部に表示されている Twitter のアイコンから Twitter に遷移後、 DM 等でご連絡ください。
導入サポートやカスタマイズも有償にてお受け致しますので、 DM 等でご連絡ください。

他のコードを探す

リクエスト受付中です。
Twitter の固定ツイートか DM にてご連絡ください。