potresti utilizzare una cosa del genere e modificarla per le tue esigenze:
codice:
document.addEventListener('DOMContentLoaded', () => {
const container = document.getElementById("container");
const banners = [
{
"image": "1.jpg",
"url": "www.google.it"
},
{
"image": "2.jpg",
"url": "www.google2.it"
},
{
"image": "3.jpg",
"url": "www.google3.it"
}
];
const nBanners = banners.length;
let countBanner = 0;
const timeBanner = 3000; // milliseconds
function initBanner() {
countBanner < nBanners ? null : countBanner = 0;
let img = Object.values(banners[countBanner])[0];
let url = Object.values(banners[countBanner])[1];
let aTag = document.createElement("a")
let imgTag = document.createElement("img");
aTag.setAttribute("href", `http://${url}`);
imgTag.setAttribute("src", `${img}`);
imgTag.setAttribute("alt", `${img}`);
imgTag.className = "myImg";
aTag.appendChild(imgTag);
container.appendChild(aTag);
container.removeChild(container.firstChild);
countBanner++;
}
(() => {
initBanner();
setInterval(() => {
initBanner();
}, timeBanner);
})()
})