• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:●jQuery;スクロールでついてくる背景画像)

jQueryでスクロールする背景画像の設定方法

このQ&Aのポイント
  • jQueryのscrollFollowを利用して、コンテンツ内の背景画像がスクロールするとついてくる設定方法を解説します。
  • 指定した要素にscrollFollowを適用し、スクロール速度やオフセット、コンテナを指定することで、背景画像をスクロールするように設定することができます。
  • この設定を利用することで、コンテンツ内の背景画像をスクロールさせることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.4

こんにちは。 z-indexを使うかは単純に順番だけですので使わなくても実現できるとは思います。 一応サンプルみたいなものを載せてみましたが、これが質問者様の想定している動きかわからないので参考程度に見てみてください ==== 動作サンプル http://hppg.moe.hm/okwave/qa/q7281368/ ==== ソース <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>【OKWave回答サンプル集】●jQuery;スクロールでついてくる背景画像</title> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript">google.load('jquery','1.2.6');</script> <script type="text/javascript" src="../js/ui.core.js"></script> <script type="text/javascript" src="../js/jquery.scroll-follow.js"></script> <script type="text/javascript"> $().ready ( function() { $('#scll').scrollFollow(); }); </script> <style type="text/css"> body { min-height:1200px;background-color:#000; } #cont { position:absolute; top:0px; width:198px; height:198px; color:#fff; border:solid #f00 1px; } #scll { position:absolute; width:200px; height:200px; color:#fff; background:url(./images/back.png); } </style> </head> <body> <div id="scll"> </div> <div id="cont"> <p>コンテンツだよ</p> <p>コンテンツだよ</p> <p>コンテンツだよ</p> <p>コンテンツだよ</p> <p>コンテンツだよ</p> </div> </body> </html>

pencil87
質問者

お礼

お礼が遅くなってしまい、すみません! ご回答いただきありがとうございました! サンプルまで作っていただき、本当にありがとうございます。 まさにこの通りの動きをさせたかったので、 サンプルの通りにしてみたらうまく動いてくれました。 感謝です! speed: 1000, などでスクロールのスピードを調節すると 画面の長さによって動きが逆むきに変わったり、 そのあたりはもうすこし勉強して解決する必要があるのですが、 ひとまず思っていた通りの動きができてうれしいです! 本当にありがとうございました!

pencil87
質問者

補足

せっかくすばらしい回答をいただいたのに、ベストアンサーを選び損ねておりました。 遅くなりまして失礼いたしました。 ご回答いただき、本当にありがとうございます!

その他の回答 (3)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

ゆっくりついてくる効果が欲しいのであれば、javascriptが必要ですが、単に背景を固定したいだけなら、HTML/CSSの問題ですよ。javascriptを使うとしても、つまるところ、javascriptでhtml/cssを操作しているだけなので、はじめからhtml/cssの構造を見なおしたほうがはやいです。

pencil87
質問者

お礼

ご回答ありがとうございました。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 プラグインは基本的に簡単に○○の機能が実装できるよ。っていうものなので特殊な動きは想定されていません。 なんとかやるとしたら背景画像用の領域を用意してそこにscrollFollowを設定して コンテンツ用の領域をそこに重なって表示するようにCSSで設定すれば何となく動くような気がします。 ただ、コンテンツ用の領域に背景色等があったら背景画像用の領域は見えなくなってしまうと思います。 プラグインを改造するか1から作るしか無いような気がします。

pencil87
質問者

お礼

ご回答ありがとうございます。 >プラグインは基本的に簡単に○○の機能が実装できるよ。っていうものなので特殊な動きは想定されていません。 とても参考になります。ありがとうございます! >なんとかやるとしたら背景画像用の領域を用意してそこにscrollFollowを設定して 背景画像用の領域というのは、背景画像を指定した<div></div>タグを作るということではなく、 jqueryで領域を作るということでしょうか…? すみません、jqueryの知識がまだ乏しいもので、そのあたり、お教えいただけないでしょうか…? >コンテンツ用の領域をそこに重なって表示するようにCSSで設定すれば何となく動くような気がします。 重なって表示させるCSSは、z-indexなどでしょうか? すみません。よろしければ、またご回答いただけましたら幸いです。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 「背景画像だけスクロールすると」というのはどのような動きを想定していますか?

pencil87
質問者

お礼

ご回答ありがとうございます というのは、 例えば <div id="#スクロールさせたい要素のid"> <div id="#コンテンツ要素のid"> </div> </div> #スクロールさせたい要素のid にbackgroungで背景画像を設定し、 スクロールするとついてくるようにしたいのですが、その際 #コンテンツ要素のid は最初に表示された位置のままで、 スクロールしてもついてこないようにしたいのです。。 現状だと、#コンテンツ要素のid も一緒にスクロールでついてきてしまいます。 そこで、背景画像だけ.scrollFollowの指定をできないかなぁと考えております。。 よろしくお願いいたします。

関連するQ&A