<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Infinite Scroll</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Infinite Scroll by Agunechemba Ekene</h1>
<div class="container" id="container"></div>
<script src="script.js"></script>
</body>
</html>
.container {
disply: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
h1 {
position: fixed;
top: 0;
left: 50%;
transform: translateX(-50%);
text-align: center;
background-color: #fff;
padding: 20px;
border-bottom: 1px solid #ddd;
}
.header {
font-size: 32px;
color: black;
text-align: center;
font-family: Verdana, sans-serif;
}
img {
width: 400px;
height: 400px;
margin: 4px;
object-fit: cover;
}
const container = document.querySelector(".container");
const URL = `https://randomfox.ca/images/`;
function getRandomNumber() {
return Math.floor(Math.random() * 100);
}
function loadImages(numImages = 6) {
let i = 0;
while (i < numImages) {
const img = document.createElement("img");
img.src = `${URL}${getRandomNumber()}.jpg`;
img.onerror = function () {
console.error(`Error loading image: ${img.src}`);
};
container.appendChild(img);
i++;
}
}
loadImages();
window.addEventListener("scroll", () => {
if (
window.scrollY + window.innerHeight >=
document.documentElement.scrollHeight
) {
console.log("Loading more images...");
loadImages();
}
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.