@wolf65
Начинающий Frontend

Счетчик на js по кликам?

Есть ли такая возможность сделать оптимально счетчик товара, к примеру есть счетчик и две кнопки (- 1 +) когда нажимаешь + число увеличивается, нажимаешь - уменьшается, минимальное число 1 максимальное 4, при этом когда на счетчике число меняется оно меняется еще в одном месте, а также число счетчика умножается на определенное число и тоже меняется. Короче что бы было понятнее вот скрины)
5ebe6b8356fb5955716375.jpeg5ebe6b980e38e787682969.jpeg
  • Вопрос задан
  • 17556 просмотров
Решения вопроса 2
varkrift
@varkrift
Junior Frontend Developer
Находишь кнопку в коде и задаёшь id (атрибут "id="твой любой id")
В js с помощью getElementById("твой id кнопки") добавляешь кнопку в переменную. Точно также делаешь с цифрой которая меняется.


Пример (Updated):

HTML:
<div id="counter">
<input type="button" id="buttonCountPlus" value="+">
<div id="buttonCountNumber">1</div>
<input type="button" id="buttonCountMinus" value="-">
</div>

<div id="calculation">150</div> // 150 просто число для наглядности вычисления

JavaScript:
let calculate = document.getElementById("calculation");
let count = document.getElementById("buttonCountNumber");
calculation = document.getElementById("calculation").innerHTML;

document.getElementById("buttonCountPlus").onclick = function() {
  let countPlus = count.innerHTML;
  if(+countPlus <= 3){
    count.innerHTML++;
    let countPlus = count.innerHTML;
    calculate.innerHTML = calculations(countPlus) ;
  }
}

document.getElementById("buttonCountMinus").onclick = function() {
  let countMinus = count.innerHTML;
  if(+countMinus >= 2){
    count.innerHTML--;
    let countMinus = count.innerHTML;
    calculate.innerHTML = calculations(countMinus) ;
  }
}

calculations = (count) => {
  return calculation+` * ${count} = ` + (+count)*(+calculation);
}
Ответ написан
@pythonist1234
Правильно так:
<input type="button" id="buttonCountPlus" value="+">
<input type="button" id="buttonCountMinus" value="-">
<div id="buttonCountNumber">1</div>
<input type="hidden" value="1" id="num" name="num">

let buttonCountPlus = document.getElementById("buttonCountPlus");
let buttonCountMinus = document.getElementById("buttonCountMinus");
let count = document.getElementById("buttonCountNumber");
let count2 = document.getElementById("num");
let number = 1;
let price = 350;

buttonCountPlus.onclick = function() {
    if (number <= 3) {
        number++;
        count.innerHTML = number;
        count2.value = number * price;
    }
};

buttonCountMinus.onclick = function() {
   if (number >= 2) {
       number--;
       count.innerHTML = number;
       count2.value = number * price;
    }
}:
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
amurcoder
@amurcoder
Web Developer
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы