const quizzes = document.querySelectorAll(".calc__fields");
quizzes.forEach((quiz) => {
const questions = quiz.querySelectorAll(".fields__field"),
btnsPrev = quiz.querySelectorAll(".btn-prev"),
btnsNext = quiz.querySelectorAll(".btn--icon-next"),
stages = quiz.querySelectorAll(".fields__stage");
console.log(stages)
// progress
// const progressCount = questions.length;
btnsNext.forEach((btnNext, btnNextIndex) => {
btnNext.addEventListener("click", (e) => {
e.preventDefault();
questions[btnNextIndex].classList.remove("_active");
questions[btnNextIndex + 1].classList.add("_active");
stages[btnNextIndex].classList.remove("_active");
stages[btnNextIndex + 1].classList.add("_active");
});
if (!questions[btnNextIndex].classList.contains("_range")) {
btnNext.disabled = true;
}
});
btnsPrev.forEach((btnPrev, btnPrevIndex) => {
btnPrev.addEventListener("click", (e) => {
e.preventDefault();
questions[btnPrevIndex + 1].classList.remove("_active");
questions[btnPrevIndex].classList.add("_active");
});
});
questions.forEach((question, questionIndex) => {
if (questionIndex === 0) {
question.classList.add("_active");
} else {
question.classList.remove("_active");
}
question.addEventListener("change", (e) => {
const target = e.target,
inputsChecked = question.querySelectorAll("input:checked");
if (
inputsChecked.length > 0 ||
target.classList.contains("range__input")
) {
btnsNext[questionIndex].disabled = false;
} else {
btnsNext[questionIndex].disabled = true;
}
});
});
});
Так вот, все нормально работает до тех пор пока цена будет без пробела.
function display_with_spaces(num) {
let str = String(num);
let left = str.length % 3;
let res = '';
let ind = 0;
if(left > 0) {
res = str.substr(ind, left) + ' ';
ind += left;
while(ind < str.length) {
res += str.substr(ind, 3);
if(str.length - ind > 3) res = res + ' ';
ind += 3;
}
}
else {
while(ind < str.length) {
res += str.substr(ind, 3);
if(str.length - ind > 3) res = res + ' ';
ind += 3;
}
}
return res;
}
document.addEventListener('DOMContentLoaded', () => {
const submenuItem = document.querySelectorAll(".header .menu-item-has-children");
const menuBody = document.querySelector(".sub-menu");
submenuItem.forEach((item) => {
item.addEventListener('click', handlerItem);
// слушаем клик вне меню
document.addEventListener("click", function (e) {
const target = e.target;
const its_menu = target == menuBody || menuBody.contains(target);
const its_btnMenu = target == menuBody;
const menu_is_active = item.classList.contains("--show");
if (!its_menu && !its_btnMenu && menu_is_active) {
item.classList.toggle("--show");
}
});
// слушаем скролл
document.addEventListener("scroll", function () {
//убираем класс если произошел скролл
item.classList.remove("--show");
});
});
function handlerItem(e) {
if (e.target.classList.contains('sub-menu-link') || e.target.closest('.sub-menu-link')) {
// если нажата ссылка в подменю, то предотвращаем действие по умолчанию только для нее
return;
}
e.preventDefault();
e.stopPropagation();
this.classList.toggle("--show");
}
});