使用javascript随机化图像,并根据随机化图像为页面应用背景色

使用javascript随机化图像,并根据随机化图像为页面应用背景色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,标题说明一切。我有以下JS代码: function randomImg(){ var myImages = new Array(); myImages[1] = "images/image1.gif"; myImages[2] = "images/image2.gif"; var rnd = Math.floor(Math.random() * myImages.length); if(rnd == 0){ rnd = 1; } document.write('<img src="'+my

标题说明一切。我有以下JS代码:

function randomImg(){
var myImages = new Array();
myImages[1] = "images/image1.gif";
myImages[2] = "images/image2.gif";
var rnd = Math.floor(Math.random() * myImages.length);
if(rnd == 0){
rnd = 1;
}
document.write('<img src="'+myImages[rnd]+'" alt="image" style="border: 0;" />');
}

另外,我不想使用jQuery,因为我已经添加了一个库。因此,唯一可接受的jQuery代码应该是与以下代码兼容的代码:jQuery-1.4.3.min.js

不要使用
文档。编写
,因为这将清除文档内容。要根据随机数制作不同的背景,您可以执行以下操作,例如:

if(rnd == 0){
    rnd = 1;
    document.body.style.background = '#FBFBFB';
} else {
    document.body.style.background = '#FFFFFF';
}
或者使用jQuery:

if(rnd == 0){
    rnd = 1;
    $( 'body' ).css( 'background', '#FBFBFB' );
} else {
    $( 'body' ).css( 'background', '#FFFFFF' );
}
也与jQuery 1.4.3兼容

在使用jQuery时,可以避免使用
文档

$( 'body' ).append( '<img src="'+myImages[rnd]+'" alt="image" style="border: 0;" />' ); 
$(“body”).append(“”);
完整编辑的代码应为:

function randomImg() {
    var myImages = [];
    myImages[0] = "images/image1.gif";
    myImages[1] = "images/image2.gif";
    var rnd = Math.floor(Math.random() * myImages.length);
    if (rnd == 0) {
        rnd = 1;
        $('body').css('background', '#FBFBFB');
    } else {
        $('body').css('background', '#FFFFFF');
    }
    $('body').append('<img src="' + myImages[rnd] + '" alt="image" style="border: 0;" />');
}
函数randomImg(){
var myImages=[];
myImages[0]=“images/image1.gif”;
myImages[1]=“images/image2.gif”;
var rnd=Math.floor(Math.random()*myImages.length);
如果(rnd==0){
rnd=1;
$('body').css('background','#fbfb');
}否则{
$('body').css('background','#FFFFFF');
}
$('body')。追加('');
}

这还不足以给出完整的答案,但是如果你可能有很多图像,我是否可以建议将背景颜色放入数组中,比如:
var img=[{“img”:“images/image1.gif”,“bg”:“#FBFBFB”},{“img”:“images/image2.gif”,“bg”:“#ffff”}
然后,当您在数组中选择一个随机元素时,也会在那里获得背景色。使用上述代码可能会重复(不是jQuery)将只生成
#FFFFFF
,但由于某些奇怪的原因不会随机选择颜色…@Charlie这是因为你在
myImages中有一个输入错误。lenght
应该是
myImages.length
,但我已经修复了它。或者,如果你认为还有其他东西,你能用完整的编辑代码编辑你的答案吗?它对我来说很好,只是
fbfb
是非常明亮的颜色,这就是为什么你认为它是白色的。尝试多次刷新此JSFIDLE演示
function randomImg() {
    var myImages = [];
    myImages[0] = "images/image1.gif";
    myImages[1] = "images/image2.gif";
    var rnd = Math.floor(Math.random() * myImages.length);
    if (rnd == 0) {
        rnd = 1;
        $('body').css('background', '#FBFBFB');
    } else {
        $('body').css('background', '#FFFFFF');
    }
    $('body').append('<img src="' + myImages[rnd] + '" alt="image" style="border: 0;" />');
}