div中的随机图像背景

时间:2013-01-30 11:05:26

标签: javascript css html random

我有一个“容器”DIV可以缩放以适应100%的窗口,我想将随机图像加载到DIV中。 我有一个适用于html背景的工作脚本,但我无法让它在DIV上工作。

Anyn的建议?

这是原始剧本:

<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>

2 个答案:

答案 0 :(得分:5)

应该没有问题。只需找到div,例如使用document.getElementById()并将背景图像应用于它:

<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将找不到任何内容。

答案 1 :(得分:1)

document.body.style.backgroundImage将背景设置为<body>

您可以通过执行以下操作轻松强制它为您选择的div执行此操作:

document.getElementById('divID').style.backgroundImage = "url(" + dir + images[randomCount] + ")";