3

ウィンドウに100%収まるように拡大縮小する「コンテナ」DIVがあり、ランダムな画像をDIVにロードしたいと思います。HTMLの背景で機能するスクリプトがありますが、代わりにDIVで機能させることができません。

何か提案はありますか?

元のスクリプトは次のとおりです。

<script type="text/javascript">
    var imgCount = 3;
    var dir = 'images/';
    var randomCount = Math.round(Math.random() * (imgCount - 1)) + 1;
    var images = new Array
            images[1] = "bg-01.jpg",
            images[2] = "bg-02.jpg",
            images[3] = "bg-03.jpg",
    document.body.style.backgroundImage = "url(" + dir + images[randomCount] + ")"; </script>
4

2 に答える 2

5

それで問題ないはずです。たとえば document.getElementById() を使用してその div を見つけ、それに背景画像を適用します。

<div id="divID"></div>
<script type="text/javascript">
    var imgCount = 3;
        var dir = 'images/';
        var randomCount = Math.round(Math.random() * (imgCount - 1)) + 1;
        var images = new Array
                images[1] = "bg-01.jpg",
                images[2] = "bg-02.jpg",
                images[3] = "bg-03.jpg",
        document.getElementById("divID").style.backgroundImage = "url(" + dir + images[randomCount] + ")"; 
   </script>

ただし、上記のスクリプト ブロックは、更新する必要がある div の後に移動する必要があることに注意してください。そうしないと、スクリプトの実行時に div が DOM で使用できず、document.getElementById何も見つかりません。

于 2013-01-30T11:15:09.110 に答える
1

document.body.style.backgroundImage背景を<body>

次のようにして、選択した div に対して簡単に強制的に実行できます。

document.getElementById('divID').style.backgroundImage = "url(" + dir + images[randomCount] + ")";
于 2013-01-30T11:08:39.623 に答える