website-v3/static/main.js

38 lines
No EOL
1 KiB
JavaScript

// 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");
}