Repository navigation
Expand file tree
/
Copy pathscript.js
More file actions
14 lines (14 loc) · 1.5 KB
/
Copy pathscript.js
File metadata and controls
14 lines (14 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const menuButton=document.querySelector('.menu-toggle');
const navigation=document.querySelector('#main-nav');
const searchButton=document.querySelector('[data-search-toggle]');
const searchPanel=document.querySelector('.search-panel');
const searchInput=document.querySelector('#site-search');
const toast=document.querySelector('.toast');
let toastTimer;
function showToast(message){toast.textContent=message;toast.classList.add('show');clearTimeout(toastTimer);toastTimer=setTimeout(()=>toast.classList.remove('show'),2800)}
menuButton.addEventListener('click',()=>{const open=navigation.classList.toggle('open');menuButton.setAttribute('aria-expanded',open);menuButton.setAttribute('aria-label',open?'Close menu':'Open menu')});
navigation.addEventListener('click',event=>{if(event.target.matches('a')){navigation.querySelectorAll('a').forEach(link=>link.classList.remove('active'));event.target.classList.add('active');if(window.innerWidth<=820)menuButton.click()}});
searchButton.addEventListener('click',()=>{const isHidden=searchPanel.hidden;searchPanel.hidden=!isHidden;if(isHidden)searchInput.focus()});
searchPanel.addEventListener('submit',event=>{event.preventDefault();const query=searchInput.value.trim();showToast(query?`Searching for “${query}”...`:'Enter a product to search.')});
document.querySelector('.cart-button').addEventListener('click',()=>showToast('Your cart is currently empty.'));
document.querySelector('.play-button').addEventListener('click',()=>showToast('Our story video is coming soon.'));