• ベストアンサー

背景のことで

ジャバスクリプトで、背景をランダムに表示させる というものがありますが この背景の位置を指定してランダムに表示させる方法は無いでしょうか? 例えば、背景画像を真ん中に固定してその背景画像をランダムに表示させるようにしたいのですが・・・。 (普通に画像で表示させるのではなく、背景で) どなたか位置を指定して出来る方法を知っている方が居ましたら教えて下さい。

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

  • ベストアンサー
  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

HTML単独では位置を指定する方法がありませんので不可能です。 が、スタイルシートを使用するなら可能です。 背景画像を変更するには document.body.style.backgroundImage="url(sample.jpg)"; のようにします。繰り返し表示をやめる場合は document.body.style.backgroundRepeat="no-repeat"; のようにします。表示位置指定は document.body.style.backgroundPosition="center center"; とします。 よって、a.jpg、b.jpg、c.jpgのどれかをランダムで中央に背景として表示するスクリプトは次のようになります。 <HTML> <HEAD> <SCRIPT> imageList = new Array(); imageList[0] = "a.jpg"; imageList[1] = "b.jpg"; imageList[2] = "c.jpg"; function imageSelect() { var index = Math.floor(Math.random() * imageList.length); document.body.style.backgroundPosition = "center center"; document.body.style.backgroundRepeat = "no-repeat"; document.body.style.backgroundAttachment = "fixed"; document.body.style.backgroundImage = "url(" + imageList[index] + ")"; } </SCRIPT> <BODY onload="imageSelect()"> </BODY> </HTML>

参考URL:
http://tohoho.wakusei.ne.jp/wwwcss2.htm#Background

関連するQ&A

専門家に質問してみよう