3

我有一个“容器”DIV,可以缩放以适应 100% 的窗口,我想将随机图像加载到 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

应该没有问题。只需找到该 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什么也找不到。

于 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 回答