ziggylott's picture
Create my app
897e1ba verified
Raw
History Blame Contribute Delete
2.16 kB
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);
});