Move item[i].style.left from the updatePositions() loop to be instantiated from the DOMContentLoad event. This eliminates the need for the elem.style.left to change on scroll, and hence reduces layout events.