1document.querySelectorAll('.faq-question').forEach(item => { 2 item.addEventListener('click', () => { 3 const faq = item.parentElement; 4 5 faq.classList.toggle('active'); 6 7 // Change the toggle symbol between + and - 8 const toggle = faq.querySelector('.faq-toggle'); 9 toggle.textContent = faq.classList.contains('active') ? '-' : '+'; 10 }); 11}); 12 13 14 15 16 17const logos = document.querySelectorAll('.logo'); 18const reviews = document.querySelectorAll('.review'); 19let activeIndex = 0; 20let autoPlayInterval; 21 22logos.forEach((logo, index) => { 23 logo.addEventListener('click', () => { 24 changeActiveLogo(index); 25 changeActiveReview(logo.getAttribute('data-review')); 26 }); 27}); 28 29function changeActiveLogo(index) { 30 logos.forEach((logo, i) => { 31 logo.classList.toggle('active', i === index); 32 }); 33} 34 35function changeActiveReview(reviewId) { 36 reviews.forEach((review) => { 37 review.classList.toggle('active', review.id === reviewId); 38 }); 39} 40 41function autoPlay() { 42 autoPlayInterval = setInterval(() => { 43 activeIndex = (activeIndex + 1) % logos.length; 44 changeActiveLogo(activeIndex); 45 changeActiveReview(logos[activeIndex].getAttribute('data-review')); 46 }, 5000); // Changes every 3 seconds 47} 48 49document.addEventListener('DOMContentLoaded', () => { 50 autoPlay(); 51}); 52 53 54 55 56 57function toggleMenu() { 58 const navLinks = document.getElementById("nav-links"); 59 navLinks.classList.toggle("active"); 60}
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.