savory-eats-delight / script.js
nkjoy's picture
Create a restaurant website with a hero section showing signature dishes, menu with categories and prices, chef's special highlights, reservation form with date picker, location map, opening hours, and customer reviews.
26c11c6 verified
Raw History Blame Contribute Delete
1.19 kB
// Navigation scrolling
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) {
window.scrollTo({
top: targetElement.offsetTop - 100,
behavior: 'smooth'
});
}
});
});
// Mobile menu toggle
function toggleMobileMenu() {
const mobileMenu = document.getElementById('mobileMenu');
mobileMenu.classList.toggle('hidden');
mobileMenu.classList.toggle('block');
}
// Form validation
function validateReservationForm() {
const form = document.getElementById('reservationForm');
const inputs = form.querySelectorAll('input, select');
let isValid = true;
inputs.forEach(input => {
if(!input.value.trim()) {
input.classList.add('border-red-500');
isValid = false;
} else {
input.classList.remove('border-red-500');
}
});
return isValid;
}