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
将背景设置为<body>
您可以通过执行以下操作轻松强制它为您选择的 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中的随机图像背景的主要内容,如果未能解决你的问题,请参考以下文章