I am cycling through background images in javascript/jQuery like this...
var duration = 2500; var delay = 500; var i = 0; setInterval(function() { if (i == 0) { $(".myimage").css("background-image", "url('https://placeimg.com/1640/1480/any')"); } if (i == 1) { $(".myimage").css("background-image", "url('https://placeimg.com/1640/1481/any')"); } if (i == 2) { $(".myimage").css("background-image", "url('https://placeimg.com/1640/1482/any')"); } if (i == 3) { $(".myimage").css("background-image", "url('https://placeimg.com/1640/1483/any')"); } i++; }, duration + delay) .myimage { height: 500px; width: 500px; transition: background-image 1s linear; background-image: url('https://placeimg.com/1648/1488/any'); background-size: cover; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="myimage"> </div> Problem is, I get flashes of no image occasionally, I think this is down to the images not being loaded in time. Is there a way to preload them?
<img>tags inside<div style="display:none">.