将背景图像和背景颜色对添加到元素
问题描述:
我试图以特定方式将一对背景样式添加到html
标记。这是迄今为止我所拥有的。将背景图像和背景颜色对添加到元素
$(function() {
var images = ['bg-day.png', 'bg-sunset.png', 'bg-night'];
var colors = ['#0066CD', '#ff0000', '#1D2951'];
$('html').css({'background-image': 'url(img/' + images[Math.floor(Math.random() * images.length)] + ')'});
});
所以,我需要做的是配对相应的变量,其中0的位置既bg-day.png
和#0066CD
,等等。因此,如果提供给html
标签的背景图像是bg-day.png
,它也会将#0066CD
的背景色添加到html
标签。
答
Store中的随机数,并把它作为两个数组的索引:
$(function() {
var images = ['bg-day.png', 'bg-sunset.png', 'bg-night'],
colors = ['#0066CD', '#ff0000', '#1D2951'],
index = Math.floor(Math.random() * images.length);
$('html').css({'background-image' : 'url(img/' + images[index] + ')',
'background-color' : colors[index]
});
});
我不能得到这个工作。首先,使用你的解决方案,我必须将'background-image'更改为'background',因为你使用简写方法。但是,出于某种原因,在修正之后,它给了我不一致的结果,通常当我重新加载时,根本没有附加到'html'标签的背景信息。 – micah 2013-04-08 22:40:14
我不确定为什么它会像这样工作不一致,但对两个数组使用相同索引的概念应该可以正常工作。我没有考虑设置颜色,url需要速记版本,因为这是我总是使用的,但是您可以尝试单独设置。 – adeneo 2013-04-08 22:47:19
完美。甜,你的更新版本按预期工作。谢谢! – micah 2013-04-08 22:53:37