Уменьшение переменной в интервале
Приветствую знатоков JS. Проблема в следующем - есть 2 рандомных значения которые генерируются каждые 1000мс. Эти значения суммируются между собой и составляют "прибыль" за период в 1000мс. Затем каждое новое значение прибыли суммируется с предъидущим и получается - "доступные средства".
Есть также кнопка при нажатии на которую из "доступных средств",если их более 100, вычитается 100 а максимальное рандомное значение одной из переменных из которых составляется "прибыль "увеличивается. Все выше описанное получается, только при нажатии на кнопку значение "доступных средств" остается прежним а максимальное рандомное увеличивается. Подскажите как решить проблему. Вот код. var Massiv_Prodanogo=[]; var Profit_Prodano_min = 1, Profit_Prodano_max = 10; var Profit_Proiz_min = 0, Profit_Proiz_Prodano_max = 9; setInterval(function (){ var Prodano_Ras = Math.floor(Math.random( ) * (Profit_Prodano_min - Profit_Prodano_max + 1)) + Profit_Prodano_max; var Proiz_Ras = Math.floor(Math.random( ) * (Profit_Proiz_min - Profit_Proiz_Prodano_max + 1)) + Profit_Proiz_Prodano_max; Massiv_Prodanogo.push(Prodano_Ras+Proiz_Ras); var Summ_Massiv_Prodanogo = summ_PR(Massiv_Prodanogo); document.querySelector('button[name="equipment_01"]').addEventListener('click',Buy) function Buy(){ if (Summ_Massiv_Prodanogo>100){ Summ_Massiv_Prodanogo=Summ_Massiv_Prodanogo-100; Profit_Prodano_max = Profit_Prodano_max +10; } } function Data_new(){ document.querySelector(".Profit_Vsego").innerHTML=Summ_Massiv_Prodanogo; document.querySelector(".Profit_RAS").innerHTML=Prodano_Ras+Proiz_Ras; document.querySelector(".Profit_Prodan").innerHTML=Prodano_Ras; document.querySelector(".Profit_Proiz").innerHTML=Proiz_Ras; } Data_new(); },1000); function summ_PR(arr) { var result = 0; arr.forEach(function(Prodano_Ras,Proiz_Ras) { result = result+Prodano_Ras+Proiz_Ras; }); return result; } |
Помогите найти ошибку или посоветуйте в каком направлении работать? Буду рад любой помощи.
|
Илья1812,
попробуйте для начала отформатировать код Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Илья1812,
строки 17-35 надо вынести из интервала, |
Цитата:
|
Цитата:
|
Илья1812,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <span class="Profit_Vsego"></span><br> <span class="Profit_RAS"></span>= <span class="Profit_Prodan"></span>+ <span class="Profit_Proiz"></span><br> <input name="" type="button" value="buy"> <script> var Massiv_Prodanogo = 0, Profit_Prodano_min = 1, Profit_Prodano_max = 10, Profit_Proiz_min = 0, Profit_Proiz_Prodano_max = 9, Prodano_Ras, Proiz_Ras; document.querySelector('[type="button"]').addEventListener("click", Buy); function Buy() { if (Massiv_Prodanogo > 100) { Massiv_Prodanogo -= 100; Profit_Prodano_max += 10; Profit_Proiz_Prodano_max += 10; Data_new() } } function Data_new() { document.querySelector(".Profit_Vsego").innerHTML = Massiv_Prodanogo; document.querySelector(".Profit_RAS").innerHTML = Prodano_Ras + Proiz_Ras; document.querySelector(".Profit_Prodan").innerHTML = Prodano_Ras; document.querySelector(".Profit_Proiz").innerHTML = Proiz_Ras } setInterval(function() { Prodano_Ras = Math.floor(Math.random() * (Profit_Prodano_min - Profit_Prodano_max + 1)) + Profit_Prodano_max; Proiz_Ras = Math.floor(Math.random() * (Profit_Proiz_min - Profit_Proiz_Prodano_max + 1)) + Profit_Proiz_Prodano_max; Massiv_Prodanogo += Prodano_Ras + Proiz_Ras; Data_new() }, 1000); </script> </body> </html> |
Спасибо, то что нужно!:)
|
Часовой пояс GMT +3, время: 17:38. |