【问题标题】:Check if an image from an array is selected randomly检查是否随机选择数组中的图像
【发布时间】:2015-07-11 07:32:33
【问题描述】:

我有一些代码可以随机化 div 中的背景图片。如果从数组中选择了指定的图像,我想修改另一个 div 的背景。我的代码不能正常工作。

在这里

var images = [ 'image_2.jpg', 'image_4.jpg', 'image_1.jpg'];
jQuery(' #header-top').css({'background-image': 'url(images/' + images[Math.floor(Math.random() * images.length)] + ')'});

if ( images =="image_1.jpg"){
            jQuery('#promo').css({'background': 'url(images/image_back.jpg' });
};

【问题讨论】:

    标签: css arrays image random background


    【解决方案1】:

    images == "image_1.jpg" 是无意义的代码,它不检查任何内容。您想检查您选择的图像是否是随机生成器选择的图像,因此您必须将数字与数组中图像的索引进行比较。

    var images = [ 'image_2.jpg', 'image_4.jpg', 'image_1.jpg'];
    var imageNumber = [Math.floor(Math.random() * images.length)];
    jQuery(' #header-top').css({'background-image': 'url(images/' + images[imageNumber] + ')'});
    
    if (imageNumber == 2){
            jQuery('#promo').css({'background': 'url(images/image_back.jpg' });
    }
    

    【讨论】:

    • 它工作正常。谢谢你。您的代码缺少“]”第二行。
    • 修复了“]”,我很乐意提供帮助
    • 代码在 Firefox(我使用的浏览器)中运行良好,但我似乎无法在 Chrome 上运行。奇怪……对这种行为有什么解释吗?
    • 不是我的头顶......你能确定哪条线具体是失败的,你在哪个版本的 chrome 上?
    • 当条件满足时,背景图像不会被替换。我的 Chrome 版本:42.0.2311.90(64 位),在 Mac OSX 10.6.8 上运行
    猜你喜欢
    • 2013-03-27
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    相关资源
    最近更新 更多