 
         actionsUpdate = ->
 
-          d = scrollY - y
+          d = scrollY - prevScrollY
 
           if d<0 and actionFrameIdx >= 0  # scroll up: don't apply on page load (only apply on page load for downward movement)
             idx = if (actionFrameIdx >= actionFrames.length) then actionFrameIdx-1 else actionFrameIdx


          actionFrames.sort (a,b) -> a > b

          y = scrollY = $window.scrollY
          update()
          actionsUpdate()
        , true  # deep watch

                actionProp.down.apply(c) if actionProp.down

              actionFrameIdx = ++idx
              
          prevScrollY = scrollY


        actionsUpdate = _.debounce(actionsUpdate, 33, {leading: true, maxWait: 33})
