2012-08-12 116 views
2

我是一个js新手。我已经找到了这个问题的答案,但还没有找到答案,但在这个论坛或其他人,所以很抱歉,如果它在这里,我错过了。我有一个脚本,用于在页面加载时将数组中的随机图像加载到直接放置在html中的id元素。从数组加载随机图像到CSS背景

我想看看我是否可以让它做同样的事情,但在css文件中的id元素的背景图像。我有萤火虫,并没有给我任何错误消息,但它也不起作用。

window. onload = choosePic; 

var myPix = new 
Array("images/image1.gif", "images/image2.gif"); 

function choosePic() { 
    randomNum = Math.floor((Math.random() * myPix.length)); 
    document.getElementById("headerAnimation").style.backgroundImage.src = myPix[randomNum]; 
} 
+0

删除'.src',如,它应该只是'.style.backgroundImage = “URL( 'http://image.com/example.png')”' – Esailija 2012-08-12 17:11:00

回答

2

你说的没错。

window.onload = choosePic; 

var myPix = new Array("images/image1.gif", "images/image2.gif"); 

function choosePic() { 
    var randomNum = Math.floor((Math.random() * myPix.length)); 
    document.getElementById("headerAnimation").style.backgroundImage = 
     "url(" + myPix[randomNum] + ")"; 
} 
+0

嘿,这工作!非常感谢!所以backgroundImage等于“url(带有一些参数)”。我认为我看待它的一个问题是我想改变CSS属性,但JavaScript实际上覆盖了属性。再次感谢你。 – user1593237 2012-09-07 12:13:06

+0

那么,你也看到它比它更细粒度。有'style.background'和'style.backgroundImage',因为有CSS属性'background'和'background-image'。但是你试图访问不存在的'style.backgroundImage.src'(CSS中没有'background-image.src'属性:))记住你正在设置的是一个CSS属性,没有更多,没有减。这意味着如果你正在编写一个.css文件,你需要记住'url()'或'px'或者CSS中的任何内容。 – 2012-09-07 12:57:51

+0

优秀!我会尝试多玩一些。希望在实践中它会变得更加清晰。再次感谢! – user1593237 2012-09-08 02:09:18