Always recalculate fully on each scroll-related event.

Handle double-firing of hide.

Properly name the scroll event itself :downs:.