var divs = document.querySelectorAll('span'); for (var i = 0; i < divs.length; i++) { var time = 100 * i; anim(divs[i],'width','%',0,100,time); anim(divs[i],'opacity',0,0,1,time); } // anim(foo,'opacity',0,0,1,1000) function anim(selector, style, unit, from, to, time) { if (!selector) return; var start = new Date().getTime(), timer = setInterval(function() { var step = Math.min(1, (new Date().getTime() - start) / time); selector.style[style] = (from + step * (to - from)) + unit; if (step == 1) clearInterval(timer); }, 25); selector.style[style] = from + unit; };