Hice un cuadrado que se mueve hasta el final del ancho de su contenedor usando set y clearInterval . Si agrego el ancho como un número, se detiene, pero cuando agrego container.width no funciona:
var container = document.getElementById('container') var square = document.getElementById('mySquare') function theAll(sq,con){ var pos = 0; var moving = setInterval(move,10) function move(){ if(pos == con.width){ clearInterval(moving)} else{ pos++ sq.style.left=pos + "px";} }} theAll(square,container) #container{ font-size: 100%; font-family: Comic Sans MS; background-color: blanchedalmond; border-radius: 5px; padding: 0; width: 100%; height: 60%; display: flex; flex-direction: column; } #mySquare{ width: 5%; height: 5%; background-color: blueviolet; position: relative; }Puede intentar reemplazar con.width con con.offsetWidth
Ejemplo https://codepen.io/julien180/pen/JjJvqEd?editors=1111