【问题标题】:Random image-background in divdiv中的随机图像背景
【发布时间】: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 设置背景的位置显示您的代码。

标签: javascript css html random


【解决方案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 之后我没有放置。干杯
    猜你喜欢
    • 2010-11-27
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 2011-01-16
    相关资源
    最近更新 更多