По нажатию на кнопку изменять число
Добрый вечер! Я совсем еще новичок, поэтому просьба доступно обьянить или ткнуть где прочитать. Подскажите пожалуйста, что не так с кодом? Само значение элемента выводится, но при нажатии на кнопку + появляется ошибка.(undefined). почти тот же код работает если элемент count заменить на id , и обращаться getElementById. Но так как подобных элементов несколько заменила на класс и все(
<input name="plus" type="button" value="+" onclick="addNum()"> <p class="count">1</p>
if (document.getElementsByClassName('count')!==null) {
var elem = document.getElementsByClassName('count');
for (var i = 0; i < elem.length; i++) {
elem[i] = elem.innerHTML;
console.log(elem[i].innerHTML);
var num = +elem[i].innerHTML;
function addNum() {
num++;
elem[i].innerHTML = num;
}
}
}
|
r1sus,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<input class="plus" type="button" value="+" > <p class="count">1</p>
<input class="plus" type="button" value="+" > <p class="count">1</p>
<script>
window.addEventListener('DOMContentLoaded', function() {
var p = document.querySelectorAll('.count');
[].forEach.call(document.querySelectorAll('.plus'), function(input,i) {
input.addEventListener('click', function() {
p[i].innerHTML -= -1
});
});
});
</script>
</body>
</html>
|
рони,
Спасибо большое за такой быстрый ответ. Ваше решение прекрасно работает, но к сожалению, оно не родилось у меня в голове . подскажите ход моих мыслей совсем неверный? вы не могли бы хоть намекнуть что я делаю не так? спасибо за понимание |
r1sus,
по вашему коду: функция в onclick, должна сама догадатся, какая она по счёту |
рони,
спасибо! |
|
Coriolan161,
Спасибо за предложенное решение! Более понятное для меня решение |
Coriolan161,
У меня была задача избавится от id, так как на странице несколько count и у каждого есть кнопка +. Но все равно большое спасибо за участие |
Помогите пожалуйста, как кнопке прописать это значение <span id="numberPlus">0</span> :help:
|
anna4, попробуй еще раз. )
|
Есть скрипт, как необходимым кнопка задать id
<script> ;(function(){ /* Это код отвечающий за клики по кнопкам с увеличением числа. Необходимым кнопкам необходимо указать id: plus (при редактировании кнопки на вкладке: "действия" И указать на странице число оборнутое в спан с определленым id:<span id="numberPlus">0</span> */ var btnAll = document.querySelectorAll('.btn[hack-data-id=plus]'); var number = document.getElementById('numberPlus'); var n = 339; number.innerHTML = localStorage.plusNumber || 0; for (var i = 0; i < btnAll.length; i++) { btnAll[i].setAttribute('data-click', 'true'); }; document.body.addEventListener('click', function(event) { var targ = event.target; if (check(targ)) { updateNum(); targ.setAttribute('data-click', 'false'); } else if (check(targ.parentNode)) { updateNum(); targ.parentNode.setAttribute('data-click', 'false'); } }); function updateNum() { lastZn = +localStorage.plusNumber || 0; localStorage.plusNumber = lastZn + n; number.innerHTML = localStorage.plusNumber; }; function check(elem){ return ~elem.className.search('btn') && elem.getAttribute('hack-data-id') === 'plus' && elem.getAttribute('data-click') === 'true'; }; }()); </script> <p style="text-align: right; line-height: 1;"><strong>Баланс: <span id="numberPlus">0</span></strong></p> |
Помогите сделать кнопку с этим значением <span id="numberPlus">0</span>
|
| Часовой пояс GMT +3, время: 15:15. |