HTML
画像はCSSので配置するのでscale-bgというクラス名の空のdivを配置します。
fixedで固定表示するので他の要素とは別にしておきます。
<div class="scale-bg"></div><h1>Title</h1><div class="contents">・・・</div>CSS
scale-bg に fixed、contents に relative を指定して位置を調節します。
.scale-bg { background: url(bg.jpg) no-repeat top center; background-size: 100%; position: fixed; width: 100%; padding-bottom: 400px;}h1 { position: absolute; top: 272px;}.contents { position: relative; top: 400px; padding: 60px 0;}jQuery
jQueryではscrollイベントでscale-bgのbackgroundSizeとtopの数値を加算するだけですね。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script><script>$(function() { $(window).scroll(function() { var scroll = $(window).scrollTop(); $('.scale-bg').css({ backgroundSize: (100 + scroll/3) + "%", top: -(scroll/10) + "%" }); });});</script>


