В библиотеке Interact.js endSpeed
является важным параметром для настройки инерционного поведения
перетаскиваемых элементов. Это свойство определяет конечную
скорость элемента после окончания жеста пользователя, когда
применяется инерция. Значение влияет на то, насколько плавно и быстро
элемент замедляется после отпускания, создавая ощущение естественного
движения.
endSpeed задается в пикселях в
миллисекунду и применяется только при активированной инерции
(inertia: true). Его корректная настройка позволяет достичь
реалистичного поведения объектов при перетаскивании, вращении или
изменении размера.
interact('.draggable')
.draggable({
inertia: true,
modifiers: [],
listeners: {
move(event) {
// логика движения
}
}
});
endSpeed на
поведениеМалые значения (0.05–0.2)
Средние значения (0.2–0.5)
Большие значения
(0.5–1.0 и выше)
endSpeed с другими параметрами инерцииendSpeed тесно связан с параметрами
inertia, resistance и
minSpeed.
inertia – включает или отключает
инерцию. Без включения endSpeed не имеет эффекта.resistance – коэффициент
сопротивления, замедляющий движение элемента. Высокое сопротивление при
фиксированном endSpeed уменьшает дальность скольжения.minSpeed – минимальная скорость, при
которой инерция будет применяться. Если скорость ниже этого значения,
элемент останавливается мгновенно, игнорируя endSpeed.interact('.draggable')
.draggable({
inertia: {
resistance: 15,
endSpeed: 0.3,
minSpeed: 100
}
});
В данном примере элемент после отпускания будет замедляться с конечной скоростью 0.3, сопротивление ограничит скольжение, а минимальная скорость гарантирует, что мелкие движения не вызовут инерцию.
endSpeed позволяет создавать ощущение веса объекта, когда
окна замедляются при отпускании мыши.endSpeed используются для имитации броска объектов или
скроллинга с эффектом «полет».endSpeed в диапазоне 0.1–0.3.0.4–0.7, иногда до 1.0 для максимальной инерции.resistance для контроля дистанции
скольжения и предотвращения слишком долгого движения.// Медленное аккуратное движение
interact('.panel')
.draggable({
inertia: {
resistance: 25,
endSpeed: 0.15,
minSpeed: 50
}
});
// Быстрый бросок с легкой инерцией
interact('.ball')
.draggable({
inertia: {
resistance: 8,
endSpeed: 0.8,
minSpeed: 150
}
});
Эти примеры демонстрируют, как одно и то же свойство
endSpeed при разных значениях resistance и minSpeed может
создавать совершенно разные ощущения движения.
onmove, используя event.dx и
event.dy.endSpeed в процессе разработки позволяет
точно подобрать желаемую дистанцию скольжения.endSpeed — ключевой параметр для создания реалистичной
физики движения в интерфейсах на основе Interact.js. Правильная
комбинация с resistance и minSpeed позволяет
управлять ощущением веса, плавности и динамики элементов.