Spaces:
Running
Running
File size: 2,164 Bytes
897e1ba | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 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);
}); |