-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support "stretching" #3
Comments
I'm pretty sure it's impossible (to do well). My current idea involves using a cumulative delta (with dampening, so that the more they stretch the harder it is to continue stretching) onWheel when they're at the top or bottom so it continues to add up. But the native implementation transitions back down when they let go of the trackpad which I don't think there's an API for... for touch devices there's The only thing I thought of was to use a timeout, which I tried. But that doesn't replicate the native feel and feels bad / kinda glitchy based on what I've tried, so I'd rather leave it out. 😓 |
I think it's impossible. If anyone wants to have a crack at it, feel free |
I was thinking about this (see referenced issues ^) and I think I have a combination of API proposals that could help. Stretching when NOT momentum scrolling
This would allow stretching to work great when momentum scrolling is not occurring. Here's a really primitive example/hack of the
Stretching when momentum scrollingThe only hairball is momentum scrolling. When momentum (over)scrolling, And the problem is, on the web, there's no way to differentiate a synthetic wheel event (momentum) from a user created one (fingers moving on trackpad). A potential solution: something like
Solution with proposed APIsBasically, you'd allow "stretching" via a normal
TLDR can't implement yet, but one boolean value away! |
@aeharding I know you said we need the |
Stretching refers to being able to "stretch" the overflow when continuing to scroll up/down when already at the top/bottom of the container, which is part of the native implementation. This might be quite tricky to implement though.
The text was updated successfully, but these errors were encountered: