НАписал вот тако код:
let counter = 0;
function count_plus()
{
counter++;
document.querySelector('#counter').innerHTML = counter;
};
function count_minus()
{
if(counter>0)
{
counter--;
document.querySelector('#counter').innerHTML = counter;
}
}
в html,соответственно это выглядит так
<div class = "counter">
<button onclick="count_plus()"> +</button>
<div id="counter">0</div>
<button onclick="count_minus()">-</button>
</div>
этот код прекрасно работает.
ОДнако если я хочу создать,допустим,три таких счетчика,назвисимых друг от друга,как я должен сделать?
Создавать функцию function count_plus_2()?
А если таких счетчиков 10?
для начала, онклик - дерьмо во-вторых, код читать так сложно, модфицировать и проверять неудобно в-третьих, вам нужны либо уникальные идентификаторы счётчиков, либо хранить это в data-атрибутах, к примеру
Создать класс в котором будет логика счетчика, и создавать экземпляры класса 10 экземпляров = 10 разных счётчиков
можно написать крошку-функцию и держать всё в data-атрибутах
ООП пока еще не дошел...неужели все так сложно?
в дата атрибутах -в масссив что ли?
class Counter { constructor(initValue = 0) { this.value = initValue; } up() { this.value++; } down() { this.value--; } } где-то в коде const counter1 = new Counter(); const counter2 = new Counter(); const counter3 = new Counter();
в питоне класс ох как нужная вещь....
Да есть все там, просто не так традиционном как все привыкли видеть в мейнстрим шарпах/джаве
https://codepen.io/Innoel/pen/vYxWqLy вот, полное говно, надо подточить, очевидно, но вот. не надо тут ооп и нифига подобного. но это сильно от сложности задачи зависит, я б тоже в итоге класс намутил хд
спасибо...а где здесь нажатие кнопки?
function kroshka() { console.log(this); }
та на циферки понажимайте, при чём тут кнопка. курите декомпозицию, чё вы всё подряд ко всему привязываете хд
Обсуждают сегодня