Работа с функциями загрузки - PullRequest
0 голосов
/ 27 августа 2018

У меня есть JavaScript, который запускает счетчик. Тем не менее, у меня есть php-код, который проверяет мою базу данных, независимо от того, включен ли мой статус переключателя. Если включен, мой счетчик постоянно считает. В противном случае счетчик останавливается.

Как сделать функцию загрузки внутри функции загрузки?

Допустим, у меня есть функция загрузки, которая будет вычислять время работы, когда переключатель включен. Также загрузка в этой функции, которая будет выполнять clearInterval или clearTimeout.

function test() { 
  var rowres = "<?php echo $rowres; ?>";
  var prodprep = "<?php 
            $sql = "SELECT energyCon FROM wcr WHERE id=1;";
          $res = mysqli_query($db,$sql);
          $row = mysqli_fetch_array($res);
          $fnRes = $row['energyCon'];
          echo $fnRes;
          ?>";
  console.log(prodprep);
	var newTime = new Date();


	var curr_year = newTime.getFullYear();
    var curr_Month = newTime.getMonth();
    var curr_date = newTime.getDate();
    var todayDate = (curr_year + " " + (curr_Month + 1) + " " + curr_date);

    var prodprep1 = prodprep/3600;
    
    newTime.setHours(newTime.getHours());
    newTime.setMinutes(newTime.getMinutes());
    newTime.setSeconds(newTime.getSeconds());
    var newTime = newTime.getHours() + ":" + newTime.getMinutes() + ":" + newTime.getSeconds();
    var timeDateNow = todayDate + " " + newTime;
    // alert(timeDateNow);
  
  upTime(rowres); 

function upTime(countTo) {
  now = new Date();
  countTo = new Date(countTo);
  difference = (now-countTo);


  res=Math.floor(difference/1000);
  var constant = res;
  var prod = res*prodprep1;
  document.getElementById('seconds').firstChild.nodeValue = prod;
  
  $.post('updateProd.php', 
    {
      'updatingProd'    : true,
      'prod'            : prod
    }, function(data,status)
    {
      
    });

  clearTimeout(upTime.to);
  upTime.to=setTimeout(function(){ upTime(countTo); },1000);
}
// });
}

function stopcounter() {
  clearInterval(upTime.to);
  alert("working");
}
...