プラグインを使わずにスマホに対応したパララックスを実現する方法

フロントエンド | 2017.07.17

PCでパララックスを実装する場合は、background-attachmentを使用することで簡単に実現することができます。
ですが、スマホではbackground-attachmentが効かないので、簡単に実現することができません。
そこで、今回はスマホでもパララックスを実現するための方法をまとめておきたいと思います。

sample

実現方法

HTML

.section1~4のclassが付いている要素がありますが、今回はsection1、section3は背景画像がない状態。section2、section4に背景が付くような想定で作成しています。

css

スマホでパララックスを実現するために、画像を「position: fixed」で裏側に固定させておきます。そして、javaScriptでスクロール位置で画像を切り替えるようにします。

JQuery(JavaScript)

javaScriptでは、「$changePoint」を基準に別画像(classを付け替えることで実現)に切り替えます。
今回は「beforeBg」という変数で行っていますが、前の状態を保持して判定に利用しないとスクロールするたびに画像が変わってしまい、ちらつきの原因にもなるので注意してください。