JS Main
**Site relevance:** Antichrist.net
**Memory type:** theme source memory
**Source path:** Antichrist.net/wp-content/themes/antichrist-net/assets/js/main.js
**Size:** 2.1 KB
Summary
document.body.classList.add('has-js');
Source Preview
This source file is short enough to preview directly on its source-memory page.
(function () {
'use strict';
if (document.body) {
document.body.classList.add('has-js');
}
var toggle = document.querySelector('.menu-toggle');
var nav = document.querySelector('.primary-navigation');
var more = document.querySelector('.nav-more');
var mobileQuery = window.matchMedia ? window.matchMedia('(max-width: 1120px)') : null;
if (toggle && nav) {
toggle.addEventListener('click', function () {
var expanded = toggle.getAttribute('aria-expanded') === 'true';
toggle.setAttribute('aria-expanded', expanded ? 'false' : 'true');
nav.classList.toggle('is-open', !expanded);
if (expanded && more) {
more.removeAttribute('open');
}
});
nav.addEventListener('click', function (event) {
if (!event.target.closest('a') || (mobileQuery && !mobileQuery.matches)) return;
toggle.setAttribute('aria-expanded', 'false');
nav.classList.remove('is-open');
if (more) {
more.removeAttribute('open');
}
});
}
if (more) {
document.addEventListener('click', function (event) {
if (!more.open || more.contains(event.target)) return;
more.removeAttribute('open');
});
document.addEventListener('keydown', function (event) {
if (event.key !== 'Escape') return;
more.removeAttribute('open');
if (toggle && nav) {
toggle.setAttribute('aria-expanded', 'false');
nav.classList.remove('is-open');
}
});
}
var tabButtons = document.querySelectorAll('[data-acn-tab]');
if (tabButtons.length) {
tabButtons.forEach(function (button) {
button.addEventListener('click', function () {
var target = button.getAttribute('data-acn-tab');
var group = button.closest('[data-acn-tabs]');
if (!group || !target) return;
group.querySelectorAll('[data-acn-tab]').forEach(function (btn) {
btn.setAttribute('aria-selected', btn === button ? 'true' : 'false');
});
group.querySelectorAll('[data-acn-panel]').forEach(function (panel) {
panel.hidden = panel.getAttribute('data-acn-panel') !== target;
});
});
});
}
}());