2

目前在我的游戏中,当它完成时,一个随机图像被传递给“显示包装器”以显示在最后。

我仍然想这样做,但我不想这样做,而是每次都向“revael-wrapper”添加一个随机类,以使其成为“.reveal-wrapper .image1”。将有 5 个不同的图像,我希望它每次随机选择一个。

目前它的代码如下:

$(document).ready(function () {
    bgImageTotal = 5;
    randomNumber = Math.round(Math.random() * (bgImageTotal - 1)) + 1;
    imgPath = ('images/reward-images/' + randomNumber + '.png');
    $('.reveal-wrapper').css('background-image', ('url("' + imgPath + '")'));
});

有什么想法可以添加一个随机类吗?

4

3 回答 3

4

你已经有了逻辑,你只需要添加类。试试这个:

$(document).ready(function () {
    bgImageTotal = 5;
    randomNumber = Math.round(Math.random() * (bgImageTotal - 1)) + 1;
    $('.reveal-wrapper').addClass('image' + randomNumber);
});

然后你需要做的就是在你的 CSS 中设置类:

.image1 { background-image: url('images/reward-images/1.png'); }
.image2 { background-image: url('images/reward-images/2.png'); }
.image3 { background-image: url('images/reward-images/3.png'); }
.image4 { background-image: url('images/reward-images/4.png'); }
.image5 { background-image: url('images/reward-images/5.png'); }
于 2012-11-06T08:42:23.127 回答
0

由于您已经有了随机数,并且您的图像具有相同的文件名结构(image1、image2 等)

$('.reveal-wrapper').addClass('image' + randomNumber);
于 2012-11-06T08:42:41.403 回答
0

Rory 有一个很好的解决方案,但如果你很好奇,这里有一些更通用的东西:

function add_rand_class (classes, elem) {
  $(elem).addClass(classes[Math.random() * classes.length >> 0]);
}

向函数传递一个类字符串数组和你想要类的元素,你就可以开始了。

于 2012-11-06T08:46:45.470 回答