具有数字随机化器中断的URL编写器



我正试图用一个url组合器将这些行缩减为一行,该组合器包括一个介于1和62:之间的数字随机化器

var coverImage = ['/assets/images/covers/cover01.jpg', '/assets/images/covers/cover02.jpg', '/assets/images/covers/cover03.jpg', '/assets/images/covers/cover04.jpg', '/assets/images/covers/cover05.jpg', '/assets/images/covers/cover06.jpg', '/assets/images/covers/cover07.jpg', '/assets/images/covers/cover08.jpg', '/assets/images/covers/cover09.jpg', '/assets/images/covers/cover10.jpg', '/assets/images/covers/cover11.jpg'],
selectBG = coverImage[Math.floor(Math.random() * coverImage.length)];
$('#hero').css('background-image', 'url(' + selectBG + ')')

我试过这个,但我得到了一个错误:

$('#hero').css('background-image', 'url('/assets/images/covers/cover' + Math.floor(1,62) + '.jpg ')')

你能帮助理解是什么导致它断裂的吗?

谢谢!

您只传入了一个随机定义的索引,但没有包含数组变量。你需要这样写:

$('#hero').css('background-image', 'url(' + coverImage[selectBG] + ')');

这是不使用数组的随机解决方案的第二个选项。最大为10的数字的格式为00,因此我必须编写一些逻辑,为0赋值,以符合数字的格式。

var random_number = Math.floor(1 + Math.random() * 62);
if (random_number < 10) {
random_number = '0' + random_number;
} else {}
url = '/assets/images/covers/cover' + random_number + '.jpg';
$('#hero').css('background-image', 'url(' + url + ')');
console.log(url);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="hero">

最新更新