$(function() { let xs = [] for (var i = 0; i <= 200; i++) { xs.push(i) } let t = 0 function animate() { let points = xs.map(x => { let y = 10 + 3 * math.sin((x + t) / 4) return [x, y] }) let path = "m" + points.map(p => { return p[0] + "," + p[1] }).join(" l") $('path').each(function() { $(this).attr('d', path); }) t += 0.1 requestanimationframe(animate) } animate(); })