jquery - 在cleartimeout之后放回我的settimeout的值

标签 jquery

当我在点击按钮 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/

相关文章:

javascript - jquery从字符串重建选择器

javascript - 使用 iFrame 的跨域 Javascript 调用

javascript - 在 HTML5 中想要验证密码和确认密码

javascript - 提供的脚本使用 jQuery 的 $,但 drupal 站点没有启用冲突

javascript - Jquery First() 不工作

javascript - 动态引导轮播项目

Javascript 打开和隐藏 radio

jquery - 使用 jQuery 将焦点设置到第一个空输入或文本区域

javascript - 检测元素的变化并将其设置回之前的状态?

javascript - css选择器排除jquery对象的某些后代及其后代?