<form class="main-order__form js-form">
<img class="gifts" src="img/gifts.png" />
<div class="main-order__inp inp -phone js-form__inp">
<input type="tel" name="phone" id="popup-callback-phone" class="mask-phone" placeholder="+7 (___) ___-__-__" required>
есть такая форма, и само колесо
(function() {
const wheel = document.querySelector('.wheel');
const startButton = document.querySelector('.btn1');
let deg = 0;
startButton.addEventListener('click', () => {
startButton.style.pointerEvents = 'none';
deg = Math.floor(1000 + Math.random() * 150);
wheel.style.transition = 'all 10s ease-out';
wheel.style.transform = `rotate(${deg}deg)`;
wheel.classList.add('blur');
});
wheel.addEventListener('transitionend', () => {
wheel.classList.remove('blur');
startButton.style.pointerEvents = 'auto';
wheel.style.transition = 'none';
const actualDeg = deg % 360;
wheel.style.transform = `rotate(${actualDeg}deg)`;
});
})();
как сделать валидацию что если форма не заполнена колесо не крутится ? а если заполнена то крутится
Вам можно в коде получить ссылку на инпут, а затем проверять его валидность через input.checkValidity()
:
...
const input = document.querySelector('#popup-callback-phone');
startButton.addEventListener('click', () => {
if (input.checkValidity()) {
startButton.style.pointerEvents = 'none';
deg = Math.floor(1000 + Math.random() * 150);
wheel.style.transition = 'all 10s ease-out';
wheel.style.transform = `rotate(${deg}deg)`;
wheel.classList.add('blur');
};
});
...
Если хотите дать колесу специальные стили в случае инвэлида инпута, используйте, например, псевдоклассы :valid/:invalid
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Изучаю тему по учебникуВ нем есть пример, который работает в сэндбоксе
Загорелся идеей добавить service worker при помощи workbox в существующий проект на WordPress, но столкнулся с одной проблемой: где его расположить и как...