たった数行でパララックス(視差効果)を実装する方法【jQuery】

2012年7月22日 2019年6月3日 WEB , ,

WEBページの表現方法のひとつ「パララックス」の実装方法を紹介。

  • コンテンツのボリュームがそれほど多くない。
  • シンプルに実装したい

そんな人向けの内容となっています。

パララックスとは?

スクロールすると、背景や画像・テキストが時間差で移動して見える事で起きる「視差効果」による奥行きを表現するテクニックです。

これが実にシンプルに実装できてしまうんですね。

ここでは、比較的かんたんにパララックスが演出できるかなりシンプルなコードを紹介します。

 

デモ

パララックスのサンプルコード

HTML

<div id="parallax-bg1" class="bg_container">
<!-- 空 -->
</div>
<div id="parallax-bg2" class="bg_container">
    <img src="images/anthropomorphic-1297542_640.png" alt="" width="400" />
</div>
<div id="parallax-bg3" class="bg_container">
    <img src="images/rocket-1717160_640.png" alt="" width="500" />
</div>

CSS

.bg_container {
    position: fixed;
	top: 0;
    left: 0;
	width: 100%;
    height: 100%;
}
#parallax-bg1 {
	z-index: 1;
    background: url(images/milky-way-1049493_s.jpg) center 0 / cover;
}
#parallax-bg2 {
	z-index: 2;
}
#parallax-bg2 img {
    position: absolute;
    left: 40%;
    top: 20%;
}
#parallax-bg3 {
	z-index: 3;
}
#parallax-bg3 img {
    position: absolute;
    left: 60%;
    top: 90%;
}

JS

    $(window).bind('scroll',function(e){
        parallaxScroll();
    });

    function parallaxScroll(){
        var scrolled = $(window).scrollTop();
        $('#parallax-bg1').css('background-position-y', ( 0 - (scrolled * 0.1)) + 'px');
        $('#parallax-bg2').css('top', ( 0 - (scrolled * .25) ) + 'px');
        $('#parallax-bg3').css('top', ( 0 - (scrolled * .5) ) + 'px');
    };

お気軽にコメントをどうぞ。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ウェルスナビで損失?