当我在点击按钮 r1
后点击按钮 r2
时,我想将 setTimeout
的值恢复为 30,这会调用clearTimeout
。
我尝试了一些操作,但它会将数字恢复到 30,然后又恢复到之前的数字。
这是代码:
JS
$(document).ready(function () {
var numb = 30;
var numba = 100;
var timer = null;
function comptage() {
timer = setTimeout(comptage, 1000);
$('#test').html(numb);
$("#progressbar").progressbar({
value: numba
});
numb--;
numba = numba - (numba / numb);
if(numb < 0) {
numb = 0;
numba = 0;
}
};
comptage();
$("#r1").click(function () {
clearTimeout(timer);
});
$("#r2").click(function () {
timer = setTimeout(comptage, 1000);
var numb = 30;
var numba = 100;
$('#test').html(numb);
$("#progressbar").progressbar({
value: numba
});
numb--;
numba = numba - (numba / numb);
});
});
HTML
<div id="r1">bouton desactiver</div>
<div id="r2">bouton réactiver</div>
<div id ="affichage_point">
<div id="bardivs">
<div id="progressbar"></div>
<div id="test"></div>
</div>
</div>
<?php if (isset($_SESSION['timer'])){ ?>
<div id ="r6">
<?php echo $_SESSION['timer'] ?>
</div>
<br/>
<?php } ?>
最佳答案
在 r2
的点击处理程序中,您有:
var numb = 30;
var numba = 100;
这些将创建新的局部变量,并且不会触及全局变量。删除此处的 var
以使其更新全局变量。
关于jquery - 在cleartimeout之后放回我的settimeout的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13055886/