implement navigation for mobile + desktop

This commit is contained in:
Michi 2025-03-09 15:04:06 +01:00
parent 5d3cbd7208
commit 4a703050ec
4 changed files with 228 additions and 2 deletions

View file

@ -1 +1,38 @@
// main.js
// Add event listeners
document.addEventListener('DOMContentLoaded', function(){
console.log("Hello World!");
});
document.querySelector(".nav-toggle").addEventListener('click', function(){
toggleNav();
});
document.querySelectorAll(".nav-links a").forEach(element => {
element.addEventListener('click', function(){
toggleNav();
});
});
// Generic functions
function toggleDisplayByClass(className){
let items = document.getElementsByClassName(className);
for (const item of items){
item.style.display = ((item.style.display == "none") ? 'block' : 'none');
}
}
function toggleClass(obj, className){
document.querySelector(obj).classList.toggle(className);
}
function switchClasses(selector, class1, class2){
obj = document.querySelector(selector);
obj.classList.toggle(class1);
obj.classList.toggle(class2, !obj.classList.contains(class1));
}
// Nav functions
function toggleNav(){
toggleClass("nav", "open");
switchClasses(".nav-toggle i", "ai-text-align-right", "ai-cross");
}