Flatlogic Bot 1b5551aaed v1
2025-09-09 18:50:56 +00:00

64 lines
2.3 KiB
JavaScript

document.addEventListener('DOMContentLoaded', function () {
// Smooth scroll for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
});
});
// Navbar scroll effect
const navbar = document.querySelector('.navbar');
window.addEventListener('scroll', () => {
if (window.scrollY > 50) {
navbar.classList.add('navbar-scrolled');
} else {
navbar.classList.remove('navbar-scrolled');
}
});
// Contact form validation
const form = document.querySelector('#contactForm');
const form = document.querySelector('#contactForm');
if (form) {
form.addEventListener('submit', function(event) {
let isValid = true;
// Clear previous errors
document.querySelectorAll('.invalid-feedback').forEach(el => el.style.display = 'none');
document.querySelectorAll('.form-control').forEach(el => el.classList.remove('is-invalid'));
// Name validation
const name = document.querySelector('#name');
if (name.value.trim() === '') {
isValid = false;
name.classList.add('is-invalid');
document.querySelector('#nameError').style.display = 'block';
}
// Email validation
const email = document.querySelector('#email');
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailPattern.test(email.value)) {
isValid = false;
email.classList.add('is-invalid');
document.querySelector('#emailError').style.display = 'block';
}
// Message validation
const message = document.querySelector('#message');
if (message.value.trim() === '') {
isValid = false;
message.classList.add('is-invalid');
document.querySelector('#messageError').style.display = 'block';
}
if (!isValid) {
event.preventDefault();
}
});
}
});