From 1f697cac5b05fb67143a18466fb40dd36f811b8e Mon Sep 17 00:00:00 2001 From: Dan Allen Date: Wed, 30 Dec 2020 03:16:06 -0700 Subject: [PATCH] scroll panel to bring children into view when expanding nav item --- src/js/01-nav.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/js/01-nav.js b/src/js/01-nav.js index 466dd7f..95f5163 100644 --- a/src/js/01-nav.js +++ b/src/js/01-nav.js @@ -100,7 +100,13 @@ } function toggleActive () { - this.classList.toggle('is-active') + if (this.classList.toggle('is-active')) { + var padding = parseFloat(window.getComputedStyle(this).marginTop) + var rect = this.getBoundingClientRect() + var menuPanelRect = menuPanel.getBoundingClientRect() + var overflowY = (rect.bottom - menuPanelRect.top - menuPanelRect.height + padding).toFixed() + if (overflowY > 0) menuPanel.scrollTop += Math.min((rect.top - menuPanelRect.top - padding).toFixed(), overflowY) + } } function showNav (e) { -- 2.11.0