Я добавила сравнение с балансом, который равен для данного примера 250 и, если сумма выбранного товара меньше либо равно 250, то эта сумма будет видна зеленым цветом, а если же она больше 250, то красного цвета.
Мне почему-то не удалось вставить возможность, что если ничего не выбрано и текст равен "My Card Price", то чтобы он был виден черным текстом.
balance=250;
if (sum <= balance) {
mycard = document.getElementById("mycard");
mycard.style.color = 'green';
} else if (sum > balance) {
mycard = document.getElementById("mycard");
mycard.style.color = 'red';
} else if (sum === "My Card Price") { ............................................ ??? здесь явно не то пишу, что надо и тем более, проверка не доходит до этого места
mycard = document.getElementById("mycard");
mycard.style.color = 'red';
}
document.addEventListener("DOMContentLoaded", function() {
const on = (parent, event, selector, handler) => parent.addEventListener(event, ({
target
}) => {
if (target = target.closest(selector)) handler(target)
});
const fn = el => {
el.parentNode.classList.toggle("add");
const sum = -[...document.querySelectorAll(".row .add .price")
]
.reduce((accumulator, { textContent }) => accumulator - textContent, 0);
balance=250;
if (sum <= balance) {
mycard = document.getElementById("mycard");
mycard.style.color = 'green';
} else if (sum > balance) {
mycard = document.getElementById("mycard");
mycard.style.color = 'red';
}
document.querySelector("#mycard").textContent = sum ? sum : "My Card Price";
};
on(document, "click", ".column button", fn);
});