Уменьшение переменной в интервале
Приветствую знатоков 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, время: 23:13. |