There is a target hidden at the bottom of this scrollable element. Drag the apple, autoscroll down to the target, and see that the target reacts. This reaction is thanks to the donut concept, use of native browser events and no caching of target regions that would go stale when the auto scrolling occurs.
Note that the nested scrollable scrolls to it's extreme before the outer scrollable starts or resumes scrolling. This is just like using the wheel of a mouse in nested scrollable elements.
Note that the window scrolls with the same behavior as the scrollable elements. This requires a special object for the window but the logic is very similar.
Note that the scroll rate increases as the cursor moves closer to the edge of the scrollable element.
TODO: Nice if scrolling continues even if the mouse does not continue moving.
TODO: Would be nice if the window didn't scroll off to infinity. Difficult to fix because of absolutely positioned elements.
asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf
asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf
1
2
3
4
5
asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17