【发布时间】:2013-06-03 01:39:09
【问题描述】:
有以下代码:
<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';”以及来自回调函数的新“chargeup”值,该值会将变量“charge”更改为“chargeup”并继续每秒添加 +1。
例如:时刻“t”中charge的值为“100”,“t+1”中为101,“t+2”中为102,... 事件触发回调函数并返回“chargeup = 10”和“flag1=yes”,因此“charge”变为 10,并从 10 开始每秒增加 +1:t+3 为 11,t+4 为 12... p>
我不知道我做错了什么但是当回调函数返回时,例如,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">';
}
}
}
我真的被困住了。任何想法或建议都将受到欢迎。提前感谢您的宝贵时间。
【问题讨论】:
标签: javascript ajax callback intervals