| document.addEventListener('DOMContentLoaded', () => { | |
| // Smooth scrolling for anchor links | |
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
| anchor.addEventListener('click', function(e) { | |
| e.preventDefault(); | |
| const targetId = this.getAttribute('href'); | |
| if (targetId === '#') return; | |
| const targetElement = document.querySelector(targetId); | |
| if (targetElement) { | |
| targetElement.scrollIntoView({ | |
| behavior: 'smooth' | |
| }); | |
| } | |
| }); | |
| }); | |
| // Copy code snippets functionality | |
| document.querySelectorAll('.copy-btn').forEach(button => { | |
| button.addEventListener('click', () => { | |
| const codeBlock = button.parentElement.querySelector('code'); | |
| if (codeBlock) { | |
| navigator.clipboard.writeText(codeBlock.textContent); | |
| button.textContent = 'Copied!'; | |
| setTimeout(() => { | |
| button.textContent = 'Copy'; | |
| }, 2000); | |
| } | |
| }); | |
| }); | |
| // Accordion functionality for FAQ section | |
| document.querySelectorAll('.faq-question').forEach(question => { | |
| question.addEventListener('click', () => { | |
| const answer = question.nextElementSibling; | |
| const isOpen = answer.style.display === 'block'; | |
| // Close all answers first | |
| document.querySelectorAll('.faq-answer').forEach(ans => { | |
| ans.style.display = 'none'; | |
| }); | |
| // Toggle current answer | |
| answer.style.display = isOpen ? 'none' : 'block'; | |
| }); | |
| }); | |
| }); |