js.foresight
Version:
Predicts mouse trajectory to trigger actions as users approach elements, enabling anticipatory UI updates or pre-loading. Made with vanilla javascript and usable in every framework.
21 lines • 826 B
JavaScript
export function getScrollDirection(oldRect, newRect) {
var scrollThreshold = 1;
var deltaY = newRect.top - oldRect.top;
var deltaX = newRect.left - oldRect.left;
// Check vertical scroll first (most common)
if (deltaY < -scrollThreshold) {
return "down"; // Element moved up in viewport = scrolled down
}
else if (deltaY > scrollThreshold) {
return "up"; // Element moved down in viewport = scrolled up
}
// Check horizontal scroll
if (deltaX < -scrollThreshold) {
return "right"; // Element moved left in viewport = scrolled right
}
else if (deltaX > scrollThreshold) {
return "left"; // Element moved right in viewport = scrolled left
}
return "none"; // No significant movement detected
}
//# sourceMappingURL=getScrollDirection.js.map