В настоящее время я работаю над созданием интерфейса, в котором у меня есть ссылки на изображения, которые наклоняются к курсору мыши. Это больше для развлечения, чем как серьезный проект, но тем не менее информация, которую я извлек из него, пригодится в будущем. Прямо сейчас у меня есть несколько настроек переменных...
- diffx/y = расстояние в пикселях от курсора до исходного местоположения ссылки. Это значение становится отрицательным, если курсор перемещается слева или выше исходного местоположения ссылки (уже рассчитано).
- spacex/y = расстояние, которое я хочу между курсором и ссылкой
calcx/y = рассчитанное число будет добавлено к 'style.top' и 'style.left' ссылки
calcx = diffx - spacex calcy = diffy - spacey link.style.top = calcx link.style.top = calcy
Если я устанавливаю spacex/y = 0
, ссылка располагается по центру курсора
Если я устанавливаю spacex/y = diffx/y
, ссылка устанавливается в нормальное положение.
Моя цель – сделать ссылку, слегка наклоненную к курсору (максимум 40 пикселей от исходного положения), и
по мере приближения курсора к ссылке ссылка будет медленно возвращаться в исходное положение.
Когда курсор попадает в пределах, скажем, 100 пикселей, ссылка должна (плавно) прыгать к курсору, как бы говоря «выбери меня!»
Вот как это уравнение будет выглядеть в виде графика.
Мне нужен способ написать это как уравнение javascript. Я давно не занимался алгеброй, и я почти уверен, что мы не проходили ничего похожего на это. Я предполагаю, что где-то там есть показатель степени и условное выражение, но я не совсем уверен. Если вы сможете понять это, я был бы очень благодарен (не говоря уже о впечатлении).
Спасибо за помощь!