Jquery easing
Доброго вам дня!
Сьогодні постараюся на прикладі показати як написати свою функцію пом'якшення для jQuery. Кому цікаво - під кат.
Думаю, багато хто з вас знайомі з таким поняттям що пом'якшення або ослаблення (easing).
Для тих, хто не в курсі
В контексті jQuery, а зокрема анімації, easing - це функція визначає поведінку вашої анімації у часі, тобто залежність значення від часу (насправді, при необхідності, ще від набору параметрів).
За замовчуванням в jQeury є 2 функції пом'якшення: normal і swing.
Для розширення «асортименту» можна скористатися плагіном jQuery Easing Plugin (Шпаргалка). Для більшості випадків цього достатньо. Для інших випадків - Новомосковськ далі.
Функція має вигляд:
де x - поточне значення прогресу анімації (від 0 до 1)
t - поточний час,
b - початкове значення x (зазвичай 0),
c - кінцеве значення x (зазвичай 1),
d - загальна протяжність анімації.
Примітка: в jQuery Easing Plugin мені зустрівся ще параметр s, але мені так і не вдалося дізнатися, що це
Наприклад, нам необхідно написати функцію пом'якшення, математична функція якої матиме приблизний вигляд:
. яка складається з 7 функцій:
3 функції y = x,
3 функції y = -x,
1 функція y = sin (x).
Примітка: для останньої функції для прикладу використовувалася інша функція пом'якшення
Для додавання функції пом'якшення напишемо таку конструкцію: