From 664398defbec403ef6e7712e615815f4e60c4eb9 Mon Sep 17 00:00:00 2001 From: Gerben Date: Thu, 15 Feb 2018 23:58:00 +0100 Subject: [PATCH] Walk 4 states, concat revertSteps --- src/content_script.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/content_script.js b/src/content_script.js index 5eb6202..ab5e76c 100644 --- a/src/content_script.js +++ b/src/content_script.js @@ -42,25 +42,28 @@ function hideBanners() { }) }) - const revert = () => revertSteps.forEach(step => step()) - return revert + return revertSteps } function main() { - let active = false - let revert + let state = 'off' + let revertSteps = [] function onScroll() { let action - if (window.scrollY > 20 && !active) { - active = true - action = () => { revert = hideBanners() } - } else if (window.scrollY <= 0 && active) { - active = false + if (window.scrollY > 20 && state === 'off') { + state = 'starting' action = () => { - revert && revert() - revert = undefined + revertSteps = revertSteps.concat(hideBanners()) + state = 'on' + } + } else if (window.scrollY <= 0 && state === 'on') { + state = 'stopping' + action = () => { + revertSteps.forEach(step => step()) + revertSteps = [] + state = 'off' } } if (action) {