Skip to content

Instantly share code, notes, and snippets.

@didacus
Last active May 25, 2017 06:56
Show Gist options
  • Save didacus/76ce600e8bf03ccc9509f2b73953811a to your computer and use it in GitHub Desktop.
Save didacus/76ce600e8bf03ccc9509f2b73953811a to your computer and use it in GitHub Desktop.
Framer - Scroll trigger
# Scroll Trigger
scrollTrigger = (layer, source, start, overFunc, underFunc) ->
# Setup
layer.globalY = layer.convertPointToScreen().y
layer.offsetStart = (layer.globalY+source.contentInset.top)-start
# Checker
triggerChecker = () ->
# Process layers
if source.scrollY < layer.offsetStart
if layer.triggerState != "off"
layer.triggerState = "off"
if underFunc != undefined
underFunc(layer)
else if source.scrollY >= layer.offsetStart
if layer.triggerState != "on"
layer.triggerState = "on"
if overFunc != undefined
overFunc(layer)
# Initialise
triggerChecker()
# Create Events
source.onMove ->
triggerChecker()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment