div中的随机图像背景

Posted

技术标签:

【中文标题】div中的随机图像背景【英文标题】:Random image-background in div 【发布时间】:2013-01-14 04:17:46 【问题描述】:

我有一个“容器”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>

【问题讨论】:

div有什么问题?在您尝试为 div 而非 body 设置背景的位置显示您的代码。 【参考方案1】:

document.body.style.backgroundImage 将背景设置为&lt;body&gt;

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

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

【讨论】:

【参考方案2】:

应该没有问题。只需找到该 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 将一无所获。

【讨论】:

完美!我之前尝试过“getElementById”,但如果在 div 之后我没有放置。干杯

以上是关于div中的随机图像背景的主要内容,如果未能解决你的问题,请参考以下文章

UITableviewCell 中的随机背景图像

angular4 组件 css 附加带有背景图像名称的随机字符串

我想随机将图像放在父div的边界

javascript如何设置DIV背景色为随机色

IE7 和 8 在 CSS 图像上随机挂起

将随机背景颜色应用于多个 DIV