Skip to content

Commit ef6dded

Browse files
committed
create helper function and fix window resize bugs
1 parent fc4b80b commit ef6dded

1 file changed

Lines changed: 38 additions & 20 deletions

File tree

web-components/nav-header/nav-header.js

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -82,34 +82,44 @@ function createComponent(html) {
8282
const sectionContent = sectionDiv.querySelectorAll("a");
8383

8484
subheader.addEventListener("click", () => {
85-
console.log(dropdownArrow.style.transform);
8685
if (
8786
dropdownArrow.style.transform == "rotate(0deg)" ||
8887
dropdownArrow.style.transform == ""
8988
) {
90-
dropdownArrow.style.transform = "rotate(90deg)";
91-
for (let contentItem of sectionContent) {
92-
contentItem.style.display = "block";
93-
}
89+
toggleSectionDropdown(
90+
dropdownArrow,
91+
"rotate(90deg)",
92+
sectionContent,
93+
"block"
94+
);
9495
} else {
95-
dropdownArrow.style.transform = "rotate(0deg)";
96-
for (let contentItem of sectionContent) {
97-
contentItem.style.display = "none";
98-
}
96+
toggleSectionDropdown(
97+
dropdownArrow,
98+
"rotate(0deg)",
99+
sectionContent,
100+
"none"
101+
);
99102
}
100103
});
101-
}
102104

103-
// const learnSection = shadow.querySelector(".learn-section");
104-
// const learnSubheader = learnSection.querySelector(".subheader");
105-
// const dropdownArrow = learnSubheader.querySelector(".icon-right");
106-
// const learnContent = learnSection.querySelectorAll("a");
107-
// learnSubheader.addEventListener("click", () => {
108-
// dropdownArrow.style.transform = "rotate(90deg)";
109-
// for (let contentItem of learnContent) {
110-
// contentItem.style.display = "block";
111-
// }
112-
// });
105+
window.addEventListener("resize", () => {
106+
if (window.innerWidth > 768) {
107+
toggleSectionDropdown(
108+
dropdownArrow,
109+
"rotate(0deg)",
110+
sectionContent,
111+
"block"
112+
);
113+
} else {
114+
toggleSectionDropdown(
115+
dropdownArrow,
116+
"rotate(0deg)",
117+
sectionContent,
118+
"none"
119+
);
120+
}
121+
});
122+
}
113123

114124
// Event listeners for all menus
115125
// --------------------------------------------------------------------------------------------------
@@ -181,6 +191,14 @@ function createComponent(html) {
181191

182192
// Helper functions
183193
// --------------------------------------------------------------------------------------------------
194+
// Toggle dropdown sections for small screens in dropdown nav menu
195+
function toggleSectionDropdown(arrow, deg, section, displayState) {
196+
arrow.style.transform = deg;
197+
for (let contentItem of section) {
198+
contentItem.style.display = displayState;
199+
}
200+
}
201+
184202
// Toggle dropdown navigation menu
185203
function toggleMenu() {
186204
dropdownMenu.classList.toggle("show-menu");

0 commit comments

Comments
 (0)