.menu {
right: -100%;
}
@media(max-width: 768px) {
/* Открывать меню только при ширине, меньшей 768 */
.menu.open {
right: 0;
}
}
const m = matchMedia('(min-width: 768px)');
function watch(e) {
if (e.matches) { // Сработает, когда ширина превысит 768px
document.querySelector('.menu').classList.remove('open');
}
}
m.addListener(watch);
watch(m);
.slide-visible { transform: scale(0.5); } // первый видимый слайд
.slide-visible + .slide-visible { transform: scale(0.75); } // второй
.slide-visible ~ .slide-active { transform: scale(1); } // активный, в центре
.slide-active + .slide { transform: scale(0.75); } // следующий за активным
.slide-active + .slide + .slide { transform: scale(0.5); } // последний видимый
// немного плавности
.slide { transition: transform 1s ease; }
const form = document.getElementById('myForm'); // Ссылка на форму
const submit = document.getElementById('mySubmit'); // Ссылка на кнопку отправки
form.addEventListener('input', function(){
submit.disabled = ![...form.querySelectorAll('input')]
.every(input => input.value != ''); // Если все поля не пусты
});
every value != ''
в сочетании с отрицанием !
даст условие "Если хотя бы одно поле пусто". В этом случае сделать кнопку неактивной. И наоборот.export default class {
#enabled = false;
#timer = null;
#elHours;
#elMinutes;
#elSeconds;
#hours = 0;
#minutes = 0;
#seconds = 0;
constructor(el) {
this.#elHours = el.querySelector('.hours');
this.#elMinutes = el.querySelector('.minutes');
this.#elSeconds = el.querySelector('.seconds');
document.addEventListener('keydown', this.startBySpace.bind(this));
}
startBySpace() {
if (e.code === 'Space') {
if (this.#enabled) {
this.#enabled = false;
clearInterval(this.#timer);
} else {
this.#enabled = true
this.#timer = setInterval(() => this.tick(), 1000);
}
}
}
tick() {
this.#seconds++;
if (this.#seconds === 60) {
this.#seconds = 0;
this.#minutes++;
if (this.#minutes === 60) {
this.#minutes = 0;
this.#hours++;
}
}
this.render();
}
render() {
elSeconds.innerHTML = this.zero(this.#seconds);
elMinutes.innerHTML = this.zero(this.#minutes);
elHours.innerHTML = this.zero(this.#hours);
}
zero(number) {
return number < 10 ? `0${number}` : `${number}`;
}
}
import Counter from './Counter.js';
document.querySelectorAll('.clocks').forEach(clock => {
new Counter(clock);
});
window.tabsChanger = function(evt, a) {
// ...
}
<div onclick="tabsChanger">
</div>
document.querySelector(...)?.addEventListener('change', function(evt){
})