スクロールに沿ってjavascriptで背景画像を
現在webサイトを作成しています。ページのメインビジュアルを「.mainVisual」というclassを作成し背景画像を指定して表示しています。
この背景画像を画面スクロールした際に、下に動くように以下のjavascriptを実装しています。
$(function() {
$(window).scroll(function(){
var y = $(this).scrollTop();
$('.mainVisual').css('background-position-y', '0 ' + parseInt( +y / 10 ) + 'px');
});
});
この状態で動くのですが、今回新たに背景画像の元々の表示位置を「background-position」で調整したいと考えています。(単純に画像が下に下がるので、事前に画像の位置を上に上げておきたい)
cssの記載で位置の調整はできるのですが、スクロールしてjavascriptが実装されると「background-position」の値が0pxになってしまい、背景画像の指定位置が元に戻ってしまいます。
こちら既に指定指定した「background-position」の値を残しつつ、jsでスクロールに併せて要素を動かすにはどのようにすればよいでしょうか。
わかりにく説明と、ひどく初心者の質問で大変に恐縮ですが、どなたかご教授いただけませんでしょうか。
よろしくお願いいたします。
補足
こんなかんじで記述しています。 間違っているところなど指摘して下さい。よろしくお願いします。 body { margin: 0px auto; padding: 0px; } .menu{ font-size:80%; color:#000000; line-height:1.5; padding:10px 10px 0px 12px; margin:0px; } .category { font-size:80%; color:#000000; border-style:none none dashed none; border-color:#59b9c6; border-width:0px 0px 1px 0px; width:40px; padding:0px 60px 0px 0px; margin:20px 0px 0px 10px; } p { font-size:10px; color:#a9a9a9; line-height:1.5; width:120px; margin:0px; padding:10px 10px 0px 12px; } /* 背景 */ .main-back { margin:0px 25px; width:142px; height:100%; background-color:#FFFFEF; background-image:url(material/mb02.jpg); background-attachment:fixed; background-repeat:no-repeat; background-position:25px bottom; } HTMLの方は<div class="main-back"></div>で<P>を 囲っているくらいです。