PageSourceSearch

https://ainowinstitute.org/wp-content/themes/ai-now-2.0-wordpress/js/nav.js?ver=1783432226

js ainowinstitute.org collected 2026-10-01 09:11:23 UTC 3,415 bytes, 70 lines download raw bytes

1window.addEventListener('load', function () {
2    var body = document.body;
3    var siteHeader = document.getElementById('site-header');
4    var headerInner = document.getElementById('site-header').firstElementChild;
5    var searchTrigger = document.getElementById('search-trigger');
6    var searchContainer = document.getElementById('search-container');
7    var searchModal = document.getElementById('search-modal');
8    var searchInput = document.getElementById('search-input');
9    var mobileSearchTrigger = document.getElementById('search-toggle');
10    
11    searchTrigger.addEventListener('click', () => {
12        searchContainer.classList.toggle('active');
13        if (searchContainer.classList.contains('active')) {
14            searchInput.focus();
15            // Set width of search field;
16            // get the value by subtracting the distance to the left of the element from the window width,
17            // then subtract 70px (margin and padding)
18            var innerWidth = window.innerWidth;
19            var distLeft = searchModal.getBoundingClientRect().left;
20            searchModal.style.width = innerWidth - distLeft - 70 + 'px';
21        };
22        if (siteHeader.classList.contains('mobile-search')) {
23            siteHeader.classList.toggle('mobile-search');
24        };
25    });
26    mobileSearchTrigger.addEventListener('click', () => {
27        // If only toggle class if mobile menu *isn't* opened;
28        // regardless, focus the search input
29        if (!siteHeader.classList.contains('mobile-menu')) {
30            siteHeader.classList.toggle('mobile-search');
31        };
32        searchInput.focus();
33    });
34
35    // Mobile menu interaction
36    var menuToggle = document.getElementById('menu-toggle');
37    var menuContents = document.getElementById('menu-contents');
38    var menuItems = document.getElementById('menu-items');
39    var headerRest = document.getElementById('header-rest');
40    menuToggle.addEventListener('click', () => {
41        // Toggle class to signify an expanded menu on a high-level
42        siteHeader.classList.toggle('mobile-menu');
43        // If search is focused/has active class, remove that before opening menu
44        if (siteHeader.classList.contains('mobile-search')) {
45            siteHeader.classList.remove('mobile-search');
46        };
47        if (menuContents.classList.contains('active')) {
48            body.classList.remove('overflow-hidden');
49            siteHeader.classList.remove('has-black-background-color');
50            siteHeader.classList.remove('min-vh-100');
51            menuContents.classList.remove('active');
52            menuContents.classList.add('border-bottom-1');
53            menuContents.classList.add('pb-3');
54            menuItems.classList.remove('d-flex');
55            menuItems.classList.add('d-none');
56            headerRest.classList.remove('d-none');
57        } else {
58            window.scrollTo({top: 0,  behavior: 'smooth'});
59            body.classList.add('overflow-hidden');
60            siteHeader.classList.add('has-black-background-color');
61            siteHeader.classList.add('min-vh-100');
62            menuContents.classList.add('active');
63            menuContents.classList.remove('border-bottom-1');
64            menuContents.classList.remove('pb-3');
65            menuItems.classList.remove('d-none');
66            menuItems.classList.add('d-flex');
67            headerRest.classList.add('d-none');
68        };
69    })
70});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.