Как сделать движение блока по параболе?

С помощью jQuery animate делаю анимацию движения объекта, но нужно чтобы объект двигался по параболе, возможно ли это как-то сделать, задав лишь начальные и конечные координаты, а чтобы остальное генерировалось автоматически?

В примере условный код, отражающий суть вопроса:

<div class="block" style="left: 50px; top: 0"/></div>

$('.block').animate({
  left: 0,
  top: 100
}, 1000);
  • Вопрос задан
  • 2176 просмотров
Пригласить эксперта
Ответы на вопрос 4
@abberati
frontend-разработчик
Параболу нельзя построить по двум точкам.
Ответ написан
Комментировать
alsolovyev
@alsolovyev
В порядку бреда
@keyframes anim {
  0% {
    transform: translate(-30px, 90px);
  }
  10% {
    transform: translate(-24px, 57.6px);
  }
  20% {
    transform: translate(-18px, 32.4px);
  }
  30% {
    transform: translate(-12px, 14.4px);
  }
  40% {
    transform: translate(-6px, 3.6px);
  }
  50% {
    transform: translate(0px, 0px);
  }
  60% {
    transform: translate(6px, 3.6px);
  }
  70% {
    transform: translate(12px, 14.4px);
  }
  80% {
    transform: translate(18px, 32.4px);
  }
  90% {
    transform: translate(24px, 57.6px);
  }
  100% {
    transform: translate(30px, 90px);
  }
}


А так через JS( requestAnimationFrame и sin/cos )
www.the-art-of-web.com/javascript/animate-curved-path
Ответ написан
Комментировать
@SelenIT3
Как вариант, сделать 2 вложенных анимации. Сам объект двигать вверх-вниз с замедлением движения в середине, а контейнер с этой анимацией двигать линейно по горизонтали. Но насколько это будет эффективно — надо тестировать.
Ответ написан
Комментировать
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
ax2+bx+c = 0
Стандартное квадратное уравнение, которое имеет 3 варианта решения:

1. 2 точки пересечения с осью абсцисс
2. Одна точка (когда ось асцисс является касательной к экстремуму функции)
3. Не имеет пересечений. То есть, нет ни одного графического решения. Такое уравнение тоже можно решить, но нужно менять параметр с до и после решения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 апр. 2024, в 14:20
500 руб./за проект
16 апр. 2024, в 14:03
5000 руб./за проект
16 апр. 2024, в 13:17
5000 руб./за проект