2012-08-28 72 views
1

需要一些帮助。我有两个div需要填写图像。图像不能随机,因为div 1的图像需要与div 2相对应。我一直在玩,并设法让JavaScript工作到这一点。问题是我需要脚本写入div背景,而不是用图像填充div。Javascript图像阵列

<script> 
var random = Math.random(); 
function random_imglink(arr){ 
var ry = Math.floor(random*arr.length); 
document.write(
'<img src="'+arr[ry]+'" border=0 class="two">' 
); 
} 
var myimages = [ 
"img1.jpg", "img2.jpg","img3.jpg" 
], 
myimagesA = [ 
"img1b.jpg","img2b.jpg","img3b.jpg"]; 

</script> 
<div><script>random_imglink(myimages);</script> </div> 

<DIV><script>random_imglink(myimagesA);</script></div> 
+0

差不多90%的文字和标题帖子与真正的问题无关,我建议编辑它并扔掉不相关的部分。 –

回答

1

您的代码需要完全覆盖UL认证。这是它应该看起来像被固定后什么:

<div id='a'>A</div> 

<div id='b'>B</div>​ 
<script> 
var random = Math.random(); 
function random_imglink(arr, id){ 
    var ry = Math.floor(random*arr.length); 
    document.getElementById(id).style.backgroundImage = "url('" + arr[ry] + "')"; 
} 
var myimages = [ 
    "http://img1.jpg.to"], 
    myimagesA = ["http://img1b.jpg.to"]; 


random_imglink(myimages, 'a'); 
random_imglink(myimages, 'b'); 
</script> 

Demo

+0

谢谢阿门!这正是我所需要的 – Tallulah

0

要设置图像作为元素的背景,你可以使用这个:

document.getElementById("myDivId").style.backgroundImage = "url(/path/to/img)"; 

在代码中,你可以做到这一点是这样的:

var random = Math.random(); 

function random_imglink(divId, arr){ 
    var ry = Math.floor(random*arr.length); 
    document.getElementById(divId).style.backgroundImage = "url(" + arr[ry] + ")"; 
} 

var myimages = ["img1.jpg", "img2.jpg","img3.jpg"], 
    myimagesA = ["img1b.jpg","img2b.jpg","img3b.jpg"]; 

random_imglink("firstDiv", myimages); 
random_imglink("secondDiv", myimagesA); 

HTML:

<div id="firstDiv"></div> 
<div id="secondDiv"></div> 
0

当前代码的最小可能的变化;使函数写style属性而不是图像标签div标签:

document.write('<div style="background:url('+arr[ry]+')">'); 

把你想要启动代码的脚本:这

<script>random_imglink(myimages);</script> </div>