Задать вопрос
@Ekaterina002

Как запретить отрицательные значения для суммы?

Всем привет! Помогите, пожалуйста, в данный скрипт добавить параметр, чтобы сумма не уходила в минус, все мои варианты не сработали...
Скрипт:
let quantity = 1;
const price = $("#countprice").text();
								
const quantityElement = document.querySelector('#quantityitog');

const plusButtonElement = document.querySelector('#plustab');
const minusButtonElement = document.querySelector('#minustab');

const totalElement = document.querySelector('#totalprice');

const plusQuantity = () => {
	quantityElement.innerHTML = ++quantity;
		totalElement.innerHTML = Math.trunc((quantity * price) * 100) / 100;
	};
								
const minusQuantity = () => {
	quantityElement.innerHTML = --quantity;
		totalElement.innerHTML = Math.trunc((totalElement.innerHTML - price) * 100) / 100;
	};

plusButtonElement.addEventListener('click', plusQuantity)
minusButtonElement.addEventListener('click', minusQuantity)
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Зачем же у вас html контент участвует в вычислениях? О разделении логики и представления слышали?

Пишите отдельно логику вычислений и в конце калькуляций готовый результат прописывайте в разметку.

const quantityElement = document.querySelector('#quantityitog');
const plusButtonElement = document.querySelector('#plustab');
const minusButtonElement = document.querySelector('#minustab');
const totalElement = document.querySelector('#totalprice');
const priceElement = document.querySelector('#countprice');

let total = +totalElement.innerText;
let qty = +quantityElement.innerText;
let price = +priceElement.innerText;

function updateView(){
  totalElement.innerHTML = total;
}

function increment(){
  qty++;
  total = Math.trunc((qty * price) * 100) / 100;
  updateView();
}

function decrement(){
  qty--;
  total = Math.trunc((total - price) * 100) / 100;
  if (total < 0) total = 0;
  updateView();
}

plusButtonElement.addEventListener('click', increment)
minusButtonElement.addEventListener('click', decrement)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы