/
Coderdev
/
web-static-labs
Обзор
Документация
Войти
/
Coderdev
/
web-static-labs
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
html/lab5/task1/script.js
38 строк
2 KB
Coderdev
1
12 май 2026, 12:37
12 май 2026, 12:37
d8ecd0f
Код
Авторство
О чём код?
const overlay = document.getElementById('modalOverlay'); const modalInner = document.getElementById('modalInner'); const emailInput = document.getElementById('emailInput'); const errorText = document.getElementById('error-text'); const statusMessage = document.getElementById('status-message'); setTimeout(() => { overlay.style.display = 'flex'; }, 7000); function closeModal() { overlay.style.display = 'none'; } window.addEventListener('click', (e) => { if (e.target === overlay) closeModal(); }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeModal(); }); function handleSubscribe() { const emailValue = emailInput.value.trim(); const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (emailRegex.test(emailValue)) { modalInner.innerHTML = `<h3>Спасибо за подписку!</h3><p>На Ваш адрес <b>${emailValue}</b> будет направлено письмо</p>`; statusMessage.textContent = `Подписка выполнена на ${emailValue}`; statusMessage.style.backgroundColor = "#d4edda"; statusMessage.style.color = "#155724"; setTimeout(closeModal, 10000); } else { emailInput.classList.add('error'); errorText.style.display = 'block'; statusMessage.textContent = "Подписка не выполнена"; statusMessage.style.backgroundColor = "#f8d7da"; statusMessage.style.color = "#721c24"; } } emailInput.addEventListener('input', () => { emailInput.classList.remove('error'); errorText.style.display = 'none'; });