aboutsummaryrefslogtreecommitdiff
path: root/public/js/app.js
diff options
context:
space:
mode:
authorThedro Neely <thedroneely@gmail.com>2019-04-06 21:56:39 -0400
committerThedro Neely <thedroneely@gmail.com>2019-04-06 21:56:39 -0400
commite26afe125024b28d123d1f7b281c836e587175eb (patch)
tree248462faed0dfb9d0db3c1b56d9c948c2d288f66 /public/js/app.js
parent216fdaa2838ef383b53fdf11959cab7d8313722f (diff)
downloadthedroneely.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.js77
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;
+};