Spaces:
Running
Running
| document.addEventListener('DOMContentLoaded', function() { | |
| // Smooth scrolling for all 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', | |
| block: 'start' | |
| }); | |
| } | |
| }); | |
| }); | |
| // Form submission handling | |
| const contactForm = document.getElementById('contact-form'); | |
| if (contactForm) { | |
| contactForm.addEventListener('submit', function(e) { | |
| e.preventDefault(); | |
| // Get form values | |
| const name = document.getElementById('name').value; | |
| const email = document.getElementById('email').value; | |
| const subject = document.getElementById('subject').value; | |
| const message = document.getElementById('message').value; | |
| // Here you would typically send the form data to a server | |
| console.log({ name, email, subject, message }); | |
| // Show success message | |
| alert('Thank you for your message! We will get back to you soon.'); | |
| // Reset form | |
| contactForm.reset(); | |
| }); | |
| } | |
| // Add animation class to sections when they come into view | |
| const animateOnScroll = () => { | |
| const sections = document.querySelectorAll('section'); | |
| sections.forEach(section => { | |
| const sectionTop = section.getBoundingClientRect().top; | |
| const windowHeight = window.innerHeight; | |
| if (sectionTop < windowHeight - 100) { | |
| section.classList.add('fade-in'); | |
| } | |
| }); | |
| }; | |
| // Run once on page load | |
| animateOnScroll(); | |
| // And then on scroll | |
| window.addEventListener('scroll', animateOnScroll); | |
| }); |