刷新时更改背景图像和颜色

时间:2015-12-15 02:27:33

标签: jquery css background background-image background-color

我试图在刷新时尝试背景图像和颜色变化。我可以随机化背景图像,但不能随机化。

例如:
bg-1.jpg - 颜色1
bg-2.jpg - 颜色2
bg-3.jpg - color 3

我知道我可以随机化图像,我只是不能使用以下代码为每个图像获得匹配的颜色:

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

1 个答案:

答案 0 :(得分:0)

您可以为每个背景添加包含匹配颜色代码的数组,然后将其添加为body的样式。

$(document).ready(function() {
  var bgArray = ['...'];
  var colorsArray = ['...'];
  var rng = Math.floor(Math.random() * bgArray.length);
  var bg = bgArray[rng];
  var color = colorsArray[rng];

  var path = 'artworks/abstract/';
  var imageUrl = path + bg;
  $('body').css('background-image', 'url(' + imageUrl +')');
  $('body').css('background-color', color);
});

在这种情况下,您将获得匹配的bgcolor,前提是匹配的颜色与背景具有相同的索引(colorsArray)(bgArray })。

这里是fiddle