次のコードを持つ:
<script type="text/javascript">
var chargeup = 0;
var flag1 = "no";
var stored = <?php print $x_row['watts']; ?>; // Gets wstored (previous value) from DB.
var charge = <?php print $charge; ?> + stored;
window.onload = function chargeT1() {
timer = setInterval(function chargeT2 () {
charge = charge+<?php print $n_gr; ?>; // $n_gr = 1;
if (flag1 !="no"){
charge = chargeup;
}
document.getElementById('charge').innerHTML = charge;
flag1 = "no";
}, 1000);
}
</script>
$n_gr = 1 であるため、毎秒 +1 を追加する「タイマー」を取得します。
私が達成しようとしていること: 「flag1 = 'yes';」を返したい 変数「charge」を「chargeup」に変更し、毎秒+1を追加し続けるコールバック関数からの新しい「chargeup」値。
例: 瞬間 "t" では、charge の値は "100"、"t+1" では 101、"t+2" では 102、... イベントがコールバック関数をトリガーし、"chargeup = 10" を返します。 " および "flag1=yes" の場合、"charge" は 10 に変化し、10 から毎秒 +1 を追加し続けます: t+3 は 11、t+4 は 12...
何が間違っているのかわかりませんが、コールバック関数がたとえば 10 を返すと、料金は 10 になり、次に 101,1011,10111... になります。
これは私のコールバック関数です:
function useHttpResponse (){
if (http.readyState == 4) {
if (http.status == 200) {
var timeWatts = http.responseXML.getElementsByTagName("upwatts")[0];
chargeup = timeWatts.childNodes[0].nodeValue; //example: returns a value of 10
flag1 = "yes";
} else {
document.getElementById('showbuy').innerHTML='<img src="anim.gif">';
}
}
}
私は本当に立ち往生しています。アイデアや提案は大歓迎です。よろしくお願いいたします。