I've been using jQuery Cycle 2 now for some years, wondering if there is a way to accomplish most of what this does without the need for jQuery? http://jquery.malsup.com/cycle2/faq/
Here is a basic css fade in / fade out cycle transition.
    var actual = 0;
    var total = 3;
    function addClass(elem, name) {
        elem.className = elem.className + " " + name;
    }
    function deleteClass(elem, name) {
        var c = elem.className;
        elem.className = c.replace(name, "").replace(/   /g, " ").replace(/^ | $/g, "");
    }
    function nextImg() {
        var e;
        e = document.getElementById("img" + actual);
        deleteClass(e, "visible");
        actual++;
        if (actual > total - 1) actual = 0;
        e = document.getElementById("img" + actual);
        addClass(e, "visible");
    }
    var slider = setInterval(nextImg, 3000);    .slide {
        border: none; 
        opacity: 0; 
        position: absolute; 
        top: 0; 
        left: 0;
        -webkit-transition: opacity .300s linear;
        -moz-transition: opacity .300s linear;
        -o-transition: opacity .300s linear;
        transition: opacity .300s linear;
    }
    .visible {
        opacity: 1;
    }    <div class="header">
    <span id="img0" class="slide visible"><img src="1.jpg">Orlandos studio</span>
    <span id="img1" class="slide"><img src="2.jpg">Fida in Van</span>
    <span id="img2" class="slide"><img src="3.jpg">Eternalife Productions</span>
    </div> 
     
     
     
     
    