Здравствуйте, товарищи!
Суть скрипта следующая.
Есть 2 Div`а
Div1 - пустой, при клике суммирует свое значение со значением Div2;
Div2 - при открытии страницы и при последующих кликах на Div1 генерирует рандомное число;
Не могу понять, почему, если я передаю в getElementByID строковую переменную, а не конкретный ID, то при нажатии на Div1 не происходит его изменения, но генерация нового значения Div2 происходит.
Сам код:
window.onload = function() {
setNextNum();
var nextNum = document.getElementById("nextNumDiv").innerHTML;
//Функция генерации следующего числа и запись его в ячейку 2
function setNextNum () {
var number = Math.floor(Math.random()*9+1);
var nextNum = document.getElementById("nextNumDiv");
nextNum.innerHTML = number;
}
//Функция добавления в ячейку
function addNextNum (num){
var stat = document.getElementById(num).innerHTML;
stat = 1*stat+1*nextNum;
if (stat==null) {
stat=0;
}
console.log(stat);
this.innerHTML = stat;
setNextNum();
nextNum = document.getElementById("nextNumDiv").innerHTML;
}
//Запуск функции добавления в Ячейку a0
a0.onclick = function(){
addNextNum("a0");
}
}
Что самое интересное, если я прописываю всю функцию в onclick с указанием ID блока, то все прекрасно работает (см. код ниже). Но, к сожалению. мне нужно реализовать именно первый вариант.
a0.onclick = function() {
var stat = document.getElementById("a0").innerHTML;
stat = 1*stat+1*nextNum;
if (stat==null) {
stat=0;
}
this.innerHTML = stat;
setNextNum();
nextNum = document.getElementById("nextNumDiv").innerHTML;
}