Реализуйте функцию animate
, с помощью которой можно управлять CSS-свойствами.
Функция animate
принимает два аргумента:
ms
— время в миллисекундах, в течение которого происходит анимация;cb
— функция, которая многократно вызывается в течение этого времениНа каждом вызове cb
аргумент progress
равен числу от 0 до 1. При этом значение progress
должно линейно увеличиваться при каждом вызове.
Для того, чтобы протестировать функцию, можно локально создать html-файл со следующим кодом:
<style> .road { width: 1125px; height: 225px; background-color: bisque; } .car { position: relative; left: 0px; } </style> <div class="road"> <img class="car" src="https://maxcode.dev/static/problems/animate/car.png"> </div> <script> function animate(ms, cb) { } const car = document.querySelector(".car"); car.addEventListener("click", () => { animate(3000, progress => { car.style.left = progress * 900 + "px"; }); }); </script>
В секции script мы находи на странице html-элемент, при клике на который запускается анимация.
Анимация заключается в том, что с ростом значения аргумента progress
свойство left
меняется от 0px
до 900px
и машинка двигается вправо.