buttonSubcatalog.classList.remove('.button-subcatalog-closed');
и вот тут buttonSubcatalog.classList.remove('.button-subcatalog-opened');
buttonSubcatalog.classList.remove('button-subcatalog-closed');
buttonSubcatalog.classList.remove('button-subcatalog-opened');
const v = 'workers.workerName';
const a = v.split('.').reduce((acc, el) => acc = acc[el], obj);
const header = document.querySelector(".header");
const onWheel = () => {
if (window.pageYOffset > 0) {
header.classList.add("header--scroll");
} else {
header.classList.remove("header--scroll");
}
};
document.onwheel = () => {
onWheel();
};
Next
получите все инпуты с required
на активной карточке и проверьте их значения. Если пустых значений нет - разрешайте переход дальше, если есть - прерывайте выполнение функции и выводите предупреждение о незаполненных полях.required
прописать const input = document.querySelector("#myInput");
input.addEventListener("focusin", () => console.log("I'm here"));
input.addEventListener("focusout", () => console.log("I'm lost"));
function clickAnimation(element) {
$(element).on('click', function(event) {
if ($(event.target).hasClass('button_card_text')) {
if ($(this).find('.front').hasClass('active')) {
$(this).find('.front').removeClass('active');
$(this).find('.back').removeClass('active');
$(event.target).removeClass('active');
}
else {
$(this).find('.front').addClass('active');
$(this).find('.back').addClass('active');
$(event.target).addClass('active');
}
}
})
}
for (let i = 0; i < $('.card').length; i++) {
clickAnimation($('.card')[i]);
}
<form action="" onchange="calcPrice()">
<input required placeholder="ширина" id="a" type="number"><br> <br>
<input required placeholder="высота" id="b" type="number"><br>
<input required placeholder="результат" id="rezultat" type="text" disabled>
</form>
function calcPrice () {
let firstInp = Number(document.querySelector('#a').value);
let secondInp = Number(document.querySelector('#b').value);
var mirror = 660;/* сумма за квадрат зеркала*/
var meter = 140; /* сумма за пог.метр обработки краев зеркала(периметр)
формула: (ширина+ширина * высота+высота) (a+2*b+2)*140 */
if (firstInp !== 0 && secondInp !== 0) {
let rezultat = ((firstInp + secondInp) * 2 * meter) + ((firstInp * secondInp) * mirror);
document.getElementById('rezultat').value = `${rezultat}`;
}
}
select
нельзя вкладывать ничего кроме option
let myTsv = tsvFormat(myJson); // Парсим json в tsv
tsvParse(myTsv); // а на этом шаге ты как раз таки получишь то, о чем собственно сам вопрос
// [{...}, {...}, {...}, columns: []]