I have 50 more images to put on my html page so I use this code thanks to your help before and it’s working.
function myFunction() {
for(let id=1; id<=50; id++){
document.querySelector('#images').innerHTML += `<img class="img-responsive" src="images/image${String(id).padStart(2, '0')}.jpg" />`
}
}
But I need to change this code to this :
function myFunction() {
for(let id=1; id<=50; id++){
document.querySelector('#images').innerHTML += `
<div class='col-sm-4 more crop col-xs-6 col-md-3 col-lg-3'>
<a class="thumbnail fancybox" rel="ligthbox" href="images/image${String(id).padStart(2, '0')}.jpg">
<img class="img-responsive" alt="" src="images/image${String(id).padStart(2, '0')}.jpg" />
</a>
</div>`
}
}
and when I do this, I see it working in my inspector but I have a blank page and there is no error in the console.
Does anyone know why ? Did I miss something ?
Advertisement
Answer
Look in the console for errors (F12)
Also you are hammering the DOM
Try this instead
<!doctype html>
<html>
<head>
<title>Load images</title>
<script>
function myFunction(numImages) {
const html = Array.from(Array(numImages).keys()).slice(1).map(key => {
const id = String(key).padStart(2, '0');
return `<div class='col-sm-4 more crop col-xs-6 col-md-3 col-lg-3'>
<a class="thumbnail fancybox" rel="ligthbox" href="images/image${id}.jpg">
<img class="img-responsive" alt="" src="images/image${id}.jpg" title="Here would be image${id}" />Here would be img ${id}
</a>
</div>`
})
document.querySelector('#images').innerHTML = html.join("");
}
window.addEventListener("load", function() {
myFunction(5); /* change to 50 when you are happy */
});
</script>
</head>
<body>
<div id="images"></div>
</body>