2013-12-22 2 views
0

Я пытаюсь получить фоновое изображение на случайность каждый раз, когда пользователь посещает веб-сайт. Я нашел код здесь в stackoverflow, но я не могу заставить его работать.случайное фоновое изображение на странице load

Что не так с этим кодом?

КОД:

$(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 +')');   
}); 


Я не получаю уведомления, ни Б.Г. шанс, нет ничего. Большое спасибо за вашу помощь!

ответ

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

length является mispelled в var bg = bgArray[Math.floor(Math.random() * bgArray.lenght)];

Edit: Убедитесь в том, чтобы работать с консолью JavaScript, если это уже не так. Простой журнал переменной imageUrl дал бы вам ключ к ошибке.

0

Во время рандомизации вы пропустили орфографическую технику! Вы должны использовать предоставленные слова.

Math.random() * bgArray.lenght 

Было бы:

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

Итак, ваш код будет выглядеть следующим образом:

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

И так далее.

1

Способ, которым вы рандомизированы, номер для массива говорит длину и должен быть длиной.

Смежные вопросы