【发布时间】:2017-10-26 10:20:31
【问题描述】:
我正在使用 jquery 创建 90 年代倒计时。
但是倒计时在重复。
我试过了:
<script>
var checkStatet = function(){
jQuery.ajax({
url: 'check_diffex.php?od=deotd'
}).done(function(data){
var o = data.diffex;
var time = jQuery('#rbtntime');
var timer = setInterval(function() {
time.html(o);
if (o == 0) {
$('#rbtntimep').hide();
clearInterval(timer);
}
o--;
}, 1000)
});
}
checkStatet();
setInterval(checkStatet, 1000);
</script>
<p>You need to wait <span id="rbtntime">90</span> before you can proceed</p>
check_diffex.php:
<?php
header('Content-Type: application/json');
$e = "90";
// You would calculate a real value here
echo json_encode([
'diffex' => $e
]);
?>
我正在使用 jquery 创建 90 年代倒计时。
但是倒计时在重复。
【问题讨论】:
-
您的文件是
check-diffex.php还是check_diffex.php? $_POST 变量od的目的是什么?它可能正在重置,因为您在check-diffex.php中设置了$e而没有对od=deotd做任何事情,或者它正在重置,因为它甚至找不到正确的页面.. 它甚至在重置吗?就像下降 1 秒然后回到 90?请更清楚您的问题。 -
同时检查控制台日志。在我看来,这个问题应该结束并重写。
-
@WillParky93 $e 是由
$_POST计算出来的,我直接定义了$e -
setInterval(checkStatet, 1);您每 1 毫秒运行一次函数。 -
我们所看到的 $e 是它被设置为 90,然后被输出。请不要跳过您的代码。它所要做的就是阻碍正确答案的进展
标签: javascript php jquery