diff options
author | Thedro Neely <thedroneely@gmail.com> | 2019-04-06 21:56:39 -0400 |
---|---|---|
committer | Thedro Neely <thedroneely@gmail.com> | 2019-04-06 21:56:39 -0400 |
commit | e26afe125024b28d123d1f7b281c836e587175eb (patch) | |
tree | 248462faed0dfb9d0db3c1b56d9c948c2d288f66 /public/js/app.js | |
parent | 216fdaa2838ef383b53fdf11959cab7d8313722f (diff) | |
download | thedroneely.com-e26afe125024b28d123d1f7b281c836e587175eb.tar.gz thedroneely.com-e26afe125024b28d123d1f7b281c836e587175eb.tar.bz2 thedroneely.com-e26afe125024b28d123d1f7b281c836e587175eb.zip |
vendor/webpack: Remove webpack
No need for extra overhead
Diffstat (limited to 'public/js/app.js')
-rw-r--r-- | public/js/app.js | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/public/js/app.js b/public/js/app.js new file mode 100644 index 0000000..b615919 --- /dev/null +++ b/public/js/app.js @@ -0,0 +1,77 @@ + +/** + * Open mobile flyout menu + */ +document.addEventListener('DOMContentLoaded', function () { + var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0); + if ($navbarBurgers.length > 0) { + $navbarBurgers.forEach(function ($el) { + $el.addEventListener('click', function () { + var target = $el.dataset.target; + var $target = document.getElementById(target); + $el.classList.toggle('is-active'); + $target.classList.toggle('is-active'); + }); + }); + } +}); + + +/** + * Close flyout menu when tapped outside of its div region + */ +var activeMenu = document.getElementById('navMenu'); +var activeBurger = document.getElementById('navBurger'); +var activeBurgerCompact = document.getElementById('navBurgerCompact'); +var activeMenuContainer = document.getElementById('navMenuContainer'); + +document.addEventListener('click', function(event) { + + var burgerClick = activeBurger.contains(event.target); + var burgerCompactClick = activeBurgerCompact.contains(event.target); + var menuContainerClick = activeMenuContainer.contains(event.target); + + if (!burgerClick && !burgerCompactClick && !menuContainerClick) { + activeMenu.classList.remove('is-active'); + activeBurger.classList.remove('is-active'); + activeBurgerCompact.classList.remove('is-active'); + } + +}); + +document.addEventListener('touchstart', function(event) { + + var burgerClick = activeBurger.contains(event.target); + var burgerCompactClick = activeBurgerCompact.contains(event.target); + var menuContainerClick = activeMenuContainer.contains(event.target); + + if (!burgerClick && !burgerCompactClick && !menuContainerClick) { + activeMenu.classList.remove('is-active'); + activeBurger.classList.remove('is-active'); + activeBurgerCompact.classList.remove('is-active'); + } + +}); + +/** + * Hide elements on scroll events + */ +var pastPosition = window.pageYOffset; +var navbarHeight = document.getElementById("navbar").offsetHeight; +window.onscroll = function() { + var currentPosition = window.pageYOffset; + + /* + if (pastPosition > currentPosition) { + document.getElementById("navbar").style.top = "0"; + } else if (currentPosition > navbarHeight) { + document.getElementById("navbar").style.top = "-5em"; + } + */ + + activeMenu.classList.remove('is-active'); + activeBurger.classList.remove('is-active'); + activeBurgerCompact.classList.remove('is-active'); + + pastPosition = currentPosition; +}; |