スクロールに連動して背景画像が切り替わる
jQuery
サンプルはこちらから
フェードイン効果はCSSを使う
CSS3のプロパティtransitionを使い、フェードイン・アウトを表現します。
背景自体はposition: fixedで配置し、デフォルトではopacity: 0で透明にしておきます。
コンテンツが表示されるタイミングでclass=showを追加し、opacity: 1に変更。
背景にする画像はbackground-imageであらかじめ読み込んでおきます。
[css] /* init */ .background { top: 0; left: 0; right: 0; height: 100%; position: fixed; background-position: center center; opacity: 0; -webkit-background-size: cover; background-size: cover; -webkit-transition: all 0.5s ease 0s; -moz-transition: all 0.5s ease 0s; transition: all 0.5s ease 0s; } .show .background { opacity: 1; } .contents .wrap { padding: 40vh 0 60vh; position: relative; z-index: 2; } /* design*/ #content01_bg {background-image: url(images/001.jpg);} #content02_bg {background-image: url(images/002.jpg);} #content03_bg {background-image: url(images/003.jpg);} #content01 .wrap { background-color: rgba(255,0,0,0.2);} #content02 .wrap { background-color: rgba(0,255,0,0.2);} #content03 .wrap { background-color: rgba(0,0,255,0.2);} .text-box { padding: 50px 25px; width: 480px; background-color: rgba(0,0,0,0.5); color: #fff; } .text-box .catch { margin: 0 0 10px; font-size: 40px; } .text-box .copy { margin: 0; line-height: 2; } [/css]jQueryのscrollイベントでclassを操作
div.contentsに、class=showをaddClass, removeClassすることにより、背景画像がふわっとフェードインします。
jQuery本体の読み込みも忘れずにしておきましょう。
いくつでも設置可能です
div.contentsとdiv.backgroundの要素は必須で、あとは自由にカスタマイズ可能。
div.backgroundの中身は空です。
div.contentsをいくつ増やしても同じようにフェードイン・アウトします。