Spaces:
Running
Running
| // Main JavaScript for the website | |
| document.addEventListener('DOMContentLoaded', function() { | |
| // Mobile menu toggle functionality will be handled by navbar component | |
| // Smooth scrolling for anchor links | |
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
| anchor.addEventListener('click', function (e) { | |
| if (this.getAttribute('href') !== '#') { | |
| e.preventDefault(); | |
| document.querySelector(this.getAttribute('href')).scrollIntoView({ | |
| behavior: 'smooth' | |
| }); | |
| } | |
| }); | |
| }); | |
| // Initialize feather icons | |
| feather.replace(); | |
| // Portfolio image hover effect | |
| const portfolioItems = document.querySelectorAll('#portfolio .group'); | |
| portfolioItems.forEach(item => { | |
| item.addEventListener('mouseenter', () => { | |
| const img = item.querySelector('img'); | |
| img.style.transform = 'scale(1.05)'; | |
| }); | |
| item.addEventListener('mouseleave', () => { | |
| const img = item.querySelector('img'); | |
| img.style.transform = 'scale(1)'; | |
| }); | |
| }); | |
| // Testimonial carousel functionality could be added here | |
| }); | |
| // Contact form validation would be in contact.js |