2013-12-22 63 views
0

每次用戶訪問網站時,我都想讓自己的背景圖像變得偶然。我在這裏發現了一些代碼在stackoverflow,但我似乎無法得到它的工作。頁面加載時的隨機背景圖像

這段代碼有什麼問題?

CODE:

$(document).ready(function() {  
    var bgArray = ['A-VOLTE.jpg', 'AL-DI-LA.jpg', 'CON-TE.jpg', 'DAVIDE-E-GOLIA.jpg', 'DELLE-VERITA.jpg', 'DI-NOI.jpg', 'DIVIDERE.jpg', 'FA-NIENTE.jpg', 'FORSE.jpg', 'GRAZIE.jpg', 'IL-CONTATTO.jpg', 'IL-PONTE.jpg', 'IMPERATIVO.jpg', 'INDELEBILE.jpg', '-VOLONTA.jpg', 'MERITAVI.jpg', 'MUOVERE.jpg', 'NEL-DUBBIO.jpg', 'NESSUNO.jpg', 'NON-LO-SAI.jpg', 'PER-DIMENTICARE.jpg', 'PRIMA-DI-ANDARE.jpg', 'PROFONDO.jpg', 'SARA-SUO.jpg', 'SEMPRE.jpg', 'TUTTO-DA-RIFARE.jpg', 'TUTTO-PER-TE.jpg', 'UN-RICORDO.jpg', 'UNTITLED-1.jpg', 'UNTITLED-2.jpg', 'VERO.jpg', 'VIENI-CON-ME.jpg']; 
    var bg = bgArray[Math.floor(Math.random() * bgArray.lenght)]; 
    // If you have defined a path for the images 
    var path = 'artworks/abstract/'; 
    var imageUrl = path + bg; 
    // then you can put it right before the variable 'bg' 
    $('body').css('background-image', 'url(' + imageUrl +')');   
}); 


我沒有得到任何警告,沒有BG的機會,什麼都沒有。 非常感謝您的幫助!

回答

2

您有錯誤拼寫,bgArray.lenght是錯誤的。這必須是bgArray.length

它運行正常!

$(document).ready(function() { 
    var bgArray = ['A-VOLTE.jpg', 'AL-DI-LA.jpg', 'CON-TE.jpg', 'DAVIDE-E-GOLIA.jpg', 'DELLE-VERITA.jpg', 'DI-NOI.jpg', 'DIVIDERE.jpg', 'FA-NIENTE.jpg', 'FORSE.jpg', 'GRAZIE.jpg', 'IL-CONTATTO.jpg', 'IL-PONTE.jpg', 'IMPERATIVO.jpg', 'INDELEBILE.jpg', '-VOLONTA.jpg', 'MERITAVI.jpg', 'MUOVERE.jpg', 'NEL-DUBBIO.jpg', 'NESSUNO.jpg', 'NON-LO-SAI.jpg', 'PER-DIMENTICARE.jpg', 'PRIMA-DI-ANDARE.jpg', 'PROFONDO.jpg', 'SARA-SUO.jpg', 'SEMPRE.jpg', 'TUTTO-DA-RIFARE.jpg', 'TUTTO-PER-TE.jpg', 'UN-RICORDO.jpg', 'UNTITLED-1.jpg', 'UNTITLED-2.jpg', 'VERO.jpg', 'VIENI-CON-ME.jpg']; 
    var bg = bgArray[Math.floor(Math.random() * bgArray.length)]; 
    var path = 'artworks/abstract/'; 
    var imageUrl = path + bg; 
    $('body').css('background-image', 'url(' + imageUrl +')'); 
}); 
6

lengthvar bg = bgArray[Math.floor(Math.random() * bgArray.lenght)];

編輯拼寫錯誤:確保與JavaScript控制檯工作,如果這不是已經是這樣了。一個簡單的日誌imageUrl變量會給你一個關於錯誤的線索。

0

隨機化時,您錯過了拼寫技巧!你必須使用提供的文字。

Math.random() * bgArray.lenght 

是:

Math.random() * bgArray.length // note the length 

所以,你的代碼看起來像:

var bg = bgArray[Math.floor(Math.random() * bgArray.length)]; 

等。

1

你隨機的方式數組的數字表示長度,應該是長度。