В настоящее время я реализую компас в JavaScript/CSS.
Глобальная реализация работает отлично.
Однако курсор компаса перемещается с толчком. Я реализовал переход ease-in-out
в CSS, чтобы избежать этой проблемы.
От 0 до 359 градусов курсор поворачивается нормально против часовой стрелки (с переходом CSS).
Но если угол установлен от 356 градусов до 1 градуса, CSS-переход поворачивает курсор по часовой стрелке, поэтому с большим зазором (355 градусов вместо 5 градусов).
Это способ избежать этого пробела или другое решение для реализации хорошего перехода?
Благодарю.
Псевдокод, вы можете просто запретить более высокие значения:
if (elem.transition >= 360){
elem.transition = 360
}
Спасибо за каждую идею.
Таким образом, с помощью CSS, решение состоит в том, чтобы продолжать увеличиваться и дальше 360, как говорит Диодей. Но в моем случае вычисленный угол масштабируется от 0 до 360 °.
С помощью JS мы можем использовать anime.js, но я предпочел кодировать свою правильную функцию анимации. Эта функция делает следующее: