@durnevdanya

Как убрать этот баг?

Почему то переменная не меняется, а лишь приписывается 1. Как исправить?

КОД : https://jsfiddle.net/318m7ehx/
  • Вопрос задан
  • 237 просмотров
Решения вопроса 3
@Kozlovskiy
var leftvalue = document.querySelector('.value').innerHTML++;
Ответ написан
Комментировать
На скорую руку исправил(потому что innerHTML во второй строке снизу у вас давал строку, которая складывалась с единицей. Как известно, строка + число = строкачисло. Кстати, если не ошибаюсь, то операторы +=, -=, *= и прочие с innerHTML -- моветон, так как это приводит к полной перезаписи. Если в масштабах всего документа, то операция document.body.innerHTML += '123' перезагрузит целый body, в том числе заново получит картинки, если есть, и только потом добавит '123'):
function buyfunc(){

  var result = document.querySelector('.balance');
  var leftvalue = document.querySelector('.value');
  result.innerHTML = 125500;
  leftvalue.innerHTML = 0;
  document.getElementById('bttn').addEventListener('click', buy);
}

function buy(){

  var bleft = document.querySelector('.balance').innerHTML -= 1500;
  var leftvalue = document.querySelector('.value').innerHTML++;
    if(bleft <= 0){
      alert("Баланс достиг нуля!");
      document.querySelector('.balance').innerHTML = 0;
    }
}
Ответ написан
Комментировать
abyrkov
@abyrkov
JavaScripter
function buyfunc(){

	var result = document.querySelector('.balance');
	var leftvalue = document.querySelector('.value');
	result.innerHTML = 125500;
	leftvalue.innerHTML = 0;
	document.getElementById('bttn').addEventListener('click', buy);
}

function buy(){

	var bleft = document.querySelector('.balance').innerHTML -= 1500;
		if(bleft <= 0){
			alert("Баланс достиг нуля!");
			document.querySelector('.balance').innerHTML = 0;
		}
			var leftvalue =document.querySelector('.value').innerHTML = parseInt(document.querySelector('.value').innerHTML) + 1;
}
buyfunc();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы