Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает код help

Mie Fa Ученик (72), открыт 2 дня назад
Почему не работает часть кода - он вычитает 20$ - при нажатие upgrade , но после клика - опять возвращает значение до нажатия upgrade

 document.getElementById('cash').textContent = cash-20 + '$';  
Строчка выше же вычитает 20$, почему она вычитает , но потом возвращает значение , до выполнения функции

 function upgrade(selldrugs){ 
if(cash>20){
tap=2
document.getElementById('cash').textContent = cash-20 + '$';
}
}

function cookingtap(upgrade){
cookingscore += tap;
document.getElementById('cookingscore').textContent = cookingscore + 'g';
}
function selldrugs(upgrade){
if (cookingscore >=-1){
cookingscore -= tap;
cash += tap;
document.getElementById('cookingscore').textContent = cookingscore + 'g';
document.getElementById('cash').textContent = cash + '$';
}
}

4 ответа
Андрей Высший разум (477825) 2 дня назад
Что значит "после клика"? После какого клика? И откуда берётся значение переменной cash после этого самого клика? Приведённого тобой обломка кода недостаточно, чтобы понять, каким образом значение "восстанавливается". Полагаю, при "клике" в document.getElementById('cash') записывается текущее значение cash, которое ты в upgrade не менял.

Попробуй, например, сделать так:
 function upgrade(selldrugs) {
if (cash > 20) {
tap = 2;
cash -= 20;
document.getElementById('cash').textContent = cash + '$';
}
}
S.H.I. Оракул (72672) 2 дня назад
Решение: добавьте обновление переменной cash перед изменением отображения:
 function upgrade(selldrugs){  
if(cash>20){
tap=2
cash = cash - 20; // Обновляем переменную
document.getElementById('cash').textContent = cash + '$';
}
}
Андрей Устинов Гуру (2919) 1 день назад
Потому что ты обновляешь cash только один раз. Ты передаешь значение cash и отнимаешь 20 но не присваиваешь новое значение cash'у.
 let cash = 1000 
document.getElementById('cash').textContent = cash + '$'

function upgrade(){
if(cash>20){
cash = cash - 20
document.getElementById('cash').textContent = cash + '$'
}
}
document.querySelector('button').addEventListener('click', upgrade)
Похожие вопросы