hasScrolled -> inViewport metamorphosis