Short answer: not easy.
, javascript . , : jsfiddle.net/G4PTM (firefox/ie10) - , , (, /, )
javascript div , , . ( jQuery , , vanilla js)
HTML
<div class="layer0">
</div>
<div class="layer1">
</div>
<div class="layer2">
</div>
CSS
div {
width: 371px;
height: 345px;
opacity: 0;
position: absolute;
transition: opacity 2s;
}
div.active {
opacity: 1;
}
div.layer0 {
background:url(http://lorempixel.com/373/345);
}
div.layer1 {
background:url(http://lorempixel.com/372/345);
}
div.layer2 {
background:url(http://lorempixel.com/374/345);
}
JS + JQuery
var firstDiv = $(".layer0");
var current;
function loopsie() {
if (!current || !current.length) current = firstDiv;
current.addClass("active");
setTimeout(function() {
current.removeClass("active");
setTimeout(function() {
current = current.next();
loopsie();
}, 2000);
}, 2000);
}
loopsie();
http://jsfiddle.net/G4PTM/2/
JavaScript ( jQuery):
var firstDiv = document.querySelector(".layer0");
var current;
function loopsie() {
if (!current) current = firstDiv;
current.classList.add("active");
setTimeout(function() {
current.classList.remove("active");
if (current.nextSibling && current.nextSibling.nodeName == "DIV") {
current = current.nextSibling;
} else if (current.nextSibling && current.nextSibling.nextSibling && current.nextSibling.nextSibling.nodeName == "DIV") {
current = current.nextSibling.nextSibling;
} else {
current = firstDiv;
}
loopsie();
}, 2000);
}
loopsie();
http://jsfiddle.net/G4PTM/6/