Вот справочник по использованию transition
:
document.querySelector('.box').addEventListener('click', function() {
// set the left value dynamically
this.style.left = '40%';
});
/* cosmetics, ignore these */
.box {
width: 100px;
height: 100px;
background-color: salmon;
display: flex;
justify-content: center;
align-items: center;
color: white;
}
/* relevent styles */
.box {
position: absolute;
left: 0;
transition: left 0.5s;
}
<div class="box">click me</div>