This repository has been archived on 2025-08-21. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
hugo-mistergeek/assets/js/header.js
2025-08-20 11:21:40 +02:00

55 lines
1.7 KiB
JavaScript

// Header JavaScript
document.addEventListener('DOMContentLoaded', function() {
// Mobile menu toggle
const offcanvasToggle = document.querySelector('.cs-header__offcanvas-toggle');
const offcanvasClose = document.querySelector('.cs-header__offcanvas-close');
const offcanvas = document.querySelector('.cs-header__offcanvas');
const overlay = document.querySelector('.cs-search-overlay');
if (offcanvasToggle) {
offcanvasToggle.addEventListener('click', function() {
offcanvas.classList.add('active');
overlay.style.display = 'block';
document.body.style.overflow = 'hidden';
});
}
if (offcanvasClose) {
offcanvasClose.addEventListener('click', function() {
offcanvas.classList.remove('active');
overlay.style.display = 'none';
document.body.style.overflow = '';
});
}
// Search functionality
const searchToggle = document.querySelectorAll('.cs-header__search-toggle');
const searchClose = document.querySelector('.cs-search__close');
const search = document.querySelector('.cs-search');
searchToggle.forEach(toggle => {
toggle.addEventListener('click', function() {
search.style.display = 'block';
overlay.style.display = 'block';
document.body.style.overflow = 'hidden';
});
});
if (searchClose) {
searchClose.addEventListener('click', function() {
search.style.display = 'none';
overlay.style.display = 'none';
document.body.style.overflow = '';
});
}
if (overlay) {
overlay.addEventListener('click', function() {
offcanvas.classList.remove('active');
search.style.display = 'none';
overlay.style.display = 'none';
document.body.style.overflow = '';
});
}
});