【发布时间】:2019-07-04 03:17:36
【问题描述】:
我有四个 div,我希望它们显示随机图像。我从 SO 那里得到了这段代码,它可以工作:
<script type="text/javascript">
function get_image(div_id){
var imgCount = 3;
var dir = 'images/';
var randomCount = Math.round(Math.random() * (imgCount - 1)) + 1;
var images = new Array
images[1] = "1.jpg",
images[2] = "2.jpg",
images[3] = "3.jpg",
document.getElementById(div_id).style.backgroundImage = "url(" + dir + images[randomCount] + ")";
console.log("div_id = " + div_id)
}
</script>
像这样从 div 调用它:
<div class="image_holder" id="left_top">
<script id="lt_innerscript">
var div_id = document.getElementById("lt_innerscript").parentElement.id;
var myVar = setInterval(function() { get_image(div_id); }, 800);
</script>
</div>
问题是,只有最后一个显示图像,其他所有都是空白的。这可能吗,我做错了什么?
有一些 CSS 来设置 div 的样式,它们存在于 2 个独立的 div 中,id 分别为“left”和“right”。
#left{
float: left;
background: blue;
width: 300px;
height: 100%;
color: #005CB9;
}
和
.image_holder {
position: relative;
width: 300px;
height: 256px;
}
【问题讨论】:
-
我想其他 div 的 id 像
left_bottom,right_top,right_bottom? -
你想要做的是javascript - How may I reference the script tag that loaded the currently-executing script? - Stack Overflow;但这不是一个好方法,因为它会导致不必要的代码重复。
-
脚本的 id 相同,对同一脚本的不同副本使用不同的 id,或者最好不要对脚本使用 id,直接使用父级的 id,或者更好地删除所有脚本的副本并仅添加一个副本,该副本通过 ids 获取父元素并在一次传递中为所有应用随机图像
-
四个div在哪里?
-
如果像这样:repl.it/@Ashar_Dweedar/Example-random-backgrounds 是您想要的,那么您可能有一个小错误,例如行尾的逗号
images[3] = "3.jpg",
标签: javascript html css