Переменные и функции javascript с массивами для каждого html-формата - PullRequest
0 голосов
/ 27 апреля 2018

можно ли повторно использовать этот javascript

<script>
var speed = 100;
var gold = 0;
gold = parseFloat(gold.toFixed(2));
var production = 10;
production = parseFloat(production.toFixed(0));
var price = 100;
price = parseFloat(price.toFixed(2));
document.getElementById("speed").innerHTML=speed;
document.getElementById("gold").innerHTML = gold;
document.getElementById("production").innerHTML=production;
document.getElementById("price").innerHTML=price;
function dig() {
  var elem = document.getElementById("bar");   
  var width = 0;
  var id = setInterval(frame, speed);
  function frame() {
    if (width >= 100) {
      clearInterval(id);
      elem.style.width = '0%';
      gold = gold + production;
      gold = parseFloat(gold.toFixed(2));
      document.getElementById("dig").disabled = false;
      document.getElementById("gold").innerHTML = gold;
      if (price <= gold) {
            document.getElementById("upgrade").disabled = false;
        } else {
            document.getElementById("upgrade").disabled = true;
        }
    } else {
      width++; 
      elem.style.width = width + '%';
      document.getElementById("dig").disabled = true;
    }
  }
}

$(document).ready(function priceUpgrade() {
    if (price <= gold) {
        document.getElementById("upgrade").disabled = false;
    } else {
        document.getElementById("upgrade").disabled = true;
    }
});

$(document).ready(function upgrade(){
    $("#upgrade").click(function(){
        speed = speed - 10;
        gold = gold - price;
        gold = parseFloat(gold.toFixed(2));
        production += production * 0.10;
        production = parseFloat(production.toFixed(0));
        price += price * 0.50;
        price = parseFloat(price.toFixed(2));
        document.getElementById("speed").innerHTML=speed;
        document.getElementById("gold").innerHTML=gold;
        document.getElementById("production").innerHTML=production;
        document.getElementById("price").innerHTML=price;
        if (price <= gold) {
            document.getElementById("upgrade").disabled = false;
        } else {
            document.getElementById("upgrade").disabled = true;
        }
    });
});
</script>

с новым значением в переменных скорости, золота и производства для каждой новой строки html из этих

<div id="speed">100</div>
<div class="row">
  <div class="col-md-2">
    <div id="production"></div>
    <button type="button" class="btn btn-success" onclick="dig()" id="dig">Gull Sil</button>
  </div>
  <div class="col-md-7">
    <div id="progress">
      <div id="bar"></div>
    </div>
  </div>
  <div class="col-md-3">
    <div id="price"></div>
    <button type="button" class="btn btn-warning" onclick="upgrade()" id="upgrade">Oppgrader</button>
  </div>
</div>

так что каждый раз, когда скорость вызова [3] или dig (3), переменные и функции реагируют на каждое значение ключа => в массиве или как-то как ?? возможно переменная скорость {1: 10,2: 30,3: 70,4: 150}; и копать ([1,2,3,4]);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...