diff options
author | Thedro Neely <thedroneely@gmail.com> | 2019-08-09 04:39:23 -0400 |
---|---|---|
committer | Thedro Neely <thedroneely@gmail.com> | 2019-08-09 04:39:23 -0400 |
commit | d89f3425a8759ebed6710ed3c524f2add4e90d9b (patch) | |
tree | d4e56b2af7be78f740e3fc1d72b79ef2c473c525 /public/js/app.js | |
parent | 12f912164b67683af296b4d2d10db347ae7e4a2e (diff) | |
download | thedroneely.com-d89f3425a8759ebed6710ed3c524f2add4e90d9b.tar.gz thedroneely.com-d89f3425a8759ebed6710ed3c524f2add4e90d9b.tar.bz2 thedroneely.com-d89f3425a8759ebed6710ed3c524f2add4e90d9b.zip |
public/js/app: Add feedback resistance and ignore first scroll on pageload
Diffstat (limited to 'public/js/app.js')
-rw-r--r-- | public/js/app.js | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/public/js/app.js b/public/js/app.js index 94d5912..f3fa6bc 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -87,7 +87,7 @@ window.history.replaceState(null, null, url); var previousPosition = window.pageYOffset; var navbar = document.getElementById("navbar"); var navbarHeight = navbar.offsetHeight; - +var scrollReady = 0; window.onscroll = function() { @@ -98,14 +98,18 @@ window.onscroll = function() { var currentPosition = window.pageYOffset; var velocity = previousPosition - currentPosition; - if (velocity > 55 || currentPosition < navbarHeight) { - remClass(navbar, 'navbar__headroom'); - } else if (velocity < 0) { - addClass(navbar, 'navbar__headroom'); + if (scrollReady == 1) { + if (velocity > 75 || currentPosition < navbarHeight) { + remClass(navbar, 'navbar__headroom'); + } else if (velocity < -25) { + addClass(navbar, 'navbar__headroom'); + } else if (currentPosition > navbarHeight) { + runOnce(function () { addClass(navbar, 'navbar__headroom') }); + } } previousPosition = currentPosition; - + scrollReady = 1; }; /** |