页面加载时随机背景图像

时间:2013-12-22 14:51:34

标签: javascript jquery background-image

每次用户访问网站时,我都试图让我的背景图像成为可能。我在stackoverflow上找到了一些代码,但我似乎无法让它工作。

此代码有什么问题?

代码:

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

<小时/> 我没有警报,没有机会,也没有任何机会。 非常感谢你的帮助!

4 个答案:

答案 0 :(得分:7)

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

中被拼错了

编辑:确保使用javascript控制台,如果不是这样的话。一个简单的imageUrl变量日志会给你一个关于错误的线索。

答案 1 :(得分:3)

你拼错了,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 +')');
});

答案 2 :(得分:2)

您随机化的方式是数组的数字是长度,应该是长度。

答案 3 :(得分:0)

随机化时,你错过了拼写技巧!您必须使用提供的单词。

Math.random() * bgArray.lenght

将是:

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

所以,你的代码看起来像是:

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

等等。