iam_not_a_robot
@iam_not_a_robot

Почему не видит второй клик на блоке?

Код мой, писал для тренировки, полный код тут https://jsfiddle.net/yz9uq4yn/ привожу JS:
// Клик на первый квадрат
var kv1 = document.getElementById('elem1');
    kv1.onclick = function() {
		var value_k1 = document.getElementById("elem1").innerHTML;
		DoValue(value_k1);
    }

// Клик на второй квадрат
var kv2 = document.getElementById('elem2');
    kv2.onclick = function() {
		var value_k2 = document.getElementById("elem2").innerHTML;
		DoValue(value_k2);
    }

function DoValue(MyVal) {
	if(MyVal > 0){
		// Клик прошёл если значение > 0 положим значение во временное хранилище
		document.getElementById('elem3').innerHTML=MyVal;
		document.getElementById('elem1').innerHTML=0;
		document.getElementById('elem2').innerHTML=0;
	}
	else{
        console.log('ноль');
      }

    // Слушаем движение мышки
    document.addEventListener("mousemove", function() 
    {
		document.getElementById('str1').innerHTML=MyVal;
        var block = document.getElementById('str1');
        block.className = "follows_mouse";
		block.style.top = event.clientY+'px';
		block.style.left = event.clientX+'px';
    });
}

В функции DoValue console.log('ноль') из else не выводит ни в каком случае. Не могу понять почему, в отладчике же вижу что значение в обеих блоках 0 стоит, значит > 0 вроде никак не должно срабатывать...
Любые замечания по коду в целом (не только по проблеме) приветствуются.
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
@sanex3339
У вас document.getElementById('str1') после клика помещается под курсор, соответственно, при втором клике на другом блоке клик проходит не по блоку а по document.getElementById('str1'), который находится под курсором.
https://jsfiddle.net/4paL37c1/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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