Я пытаюсь использовать страницы GitHub для размещения статических изображений для веб-сайта, над которым я работаю. Веб-сайт рандомизирует расположение div на странице и должен использовать фотографии из репозитория. Вот репозиторий , в котором хранятся изображения.
Проблема в том, что изображения не загружаются со страниц Github. Я неправильно ссылаюсь на фотографии в Javascript? Вот фото, которое показывает, как выглядит страница, когда я ее запускаю. Как видите, ни одно из изображений не загружается на веб-страницу. Не уверен, что я неправильно ссылаюсь на фотографию в JS или мне нужно добавить какой-либо HTML-код для ссылки на фотографии. В любом случае, я был бы очень признателен за любую помощь. :)
HTML:
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<meta http-equiv = "X-UA-Compatible" content = "IE=edge">
<meta name = "viewport" content = "width=device-width, initial-scale=1.0">
<title>page</title>
<link rel = "stylesheet" href = "assets/css/style.css">
<script src = "assets/js/script.js"></script>
<!-- <script src = "https://code.jquery.com/jquery-3.6.1.js" integrity = "sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI = " crossorigin = "anonymous"></script> -->
</head>
<body>
<h1><b>Issy B. Designs</b></h1><br>
<div class = "random"></div>
</body>
</html>
JS:
const imgPoss = [];
let maxX, maxY;
function placeImg() {
const NUM_OF_IMAGES = 90; // set this to however images you have in the directory.
const randImg = Math.random() * NUM_OF_IMAGES;
const imgSrc = 'https://elimcgehee.github.io/staticimages/gallery/' + randImg.toString() + '.png';
const {random: r} = Math;
const x = r() * maxX;
const y = r() * maxY;
if (!isOverlap(x,y)) {
var link = `<img class = "random" style = "left: ${x}px; top: ${y}px;" src = "${imgSrc}" />`;
var bodyHtml = document.body.innerHTML;
document.body.innerHTML = bodyHtml + link;
imgPoss.push({x, y}); // record all img positions
}
}
function isOverlap(x, y) { // return true if overlapping
const img = {x: 128, y:160};
for(const imgPos of imgPoss) {
if ( x>imgPos.x-img.x && x<imgPos.x+img.x &&
y>imgPos.y-img.y && y<imgPos.y+img.y ) return true;
}
return false;
}
onload = function() {
maxX = innerWidth - 128;
maxY = innerHeight - 160;
setInterval(placeImg, 10);
}
onresize = function() {
maxX = innerWidth - 128;
maxY = innerHeight - 160;
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В JavaScript Math.random() возвращает число с плавающей запятой от 0 до 1. Умножив его на 90, вы получите число с плавающей запятой, но все ваши фотографии будут целыми числами. И так как ваши картинки начинаются с 10.png, это должно выглядеть так
const NUM_OF_IMAGES = 90; // set this to however images you have in the directory.
const START_OF_IMAGES = 10;
const randImg = Math.round(Math.random() * NUM_OF_IMAGES + START_OF_IMAGES);
const imgSrc = 'https://elimcgehee.github.io/staticimages/gallery/' + randImg.toString() + '.png';
Это помогло! Спасибо огромное!