D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
etb1lp46s9ed
/
public_html
/
kudlaastraproductions.com
/
js
/
Filename :
script.js
back
Copy
document.addEventListener('DOMContentLoaded', () => { // Mobile Menu Toggle const mobileMenu = document.getElementById('mobile-menu'); const navMenu = document.querySelector('.nav-menu'); mobileMenu.addEventListener('click', () => { mobileMenu.classList.toggle('active'); navMenu.classList.toggle('active'); }); // Close mobile menu when a link is clicked document.querySelectorAll('.nav-link').forEach(n => n.addEventListener('click', () => { mobileMenu.classList.remove('active'); navMenu.classList.remove('active'); })); // Dropdown toggle for mobile const dropdown = document.querySelector('.dropdown'); dropdown.addEventListener('click', (e) => { if (window.innerWidth <= 768) { // e.preventDefault(); // Optional: prevent default if you want the parent link to be just a toggle dropdown.classList.toggle('active'); } }); // Smooth Scrolling document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth' }); } }); }); // Contact Form Submission const contactForm = document.getElementById('contactForm'); const formStatus = document.getElementById('formStatus'); contactForm.addEventListener('submit', async (e) => { e.preventDefault(); const formData = new FormData(contactForm); const data = Object.fromEntries(formData.entries()); // Show loading state const submitBtn = contactForm.querySelector('button[type="submit"]'); const originalBtnText = submitBtn.innerText; submitBtn.innerText = 'Sending...'; submitBtn.disabled = true; try { const response = await fetch('send-email.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); const result = await response.json(); if (response.ok) { formStatus.innerHTML = `<p style="color: #4caf50; margin-top: 10px;">${result.message}</p>`; contactForm.reset(); } else { formStatus.innerHTML = `<p style="color: #f44336; margin-top: 10px;">${result.message || 'Something went wrong.'}</p>`; } } catch (error) { console.error('Error:', error); formStatus.innerHTML = `<p style="color: #f44336; margin-top: 10px;">Failed to send message. Please try again later.</p>`; } finally { submitBtn.innerText = originalBtnText; submitBtn.disabled = false; } }); }); // Hero Slider // Hero Slider const slides = document.querySelectorAll('.slide'); const prevBtn = document.querySelector('.prev-btn'); const nextBtn = document.querySelector('.next-btn'); let currentSlide = 0; const slideInterval = 5000; // Change slide every 5 seconds let slideTimer; function showSlide(index) { slides[currentSlide].classList.remove('active'); // Wrap around logic using modulo currentSlide = (index + slides.length) % slides.length; slides[currentSlide].classList.add('active'); } function nextSlide() { showSlide(currentSlide + 1); } function prevSlide() { showSlide(currentSlide - 1); } function resetTimer() { clearInterval(slideTimer); slideTimer = setInterval(nextSlide, slideInterval); } if (slides.length > 0) { // Start auto-slide slideTimer = setInterval(nextSlide, slideInterval); // Event Listeners for controls if (nextBtn) { nextBtn.addEventListener('click', () => { nextSlide(); resetTimer(); }); } if (prevBtn) { prevBtn.addEventListener('click', () => { prevSlide(); resetTimer(); }); } }