2012-08-12 36 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