2

在单击按钮后单击按钮时,我想将 my 的值恢复setTimeout为 30 ,该按钮调用。r2r1clearTimeout

我尝试了一些东西,但它把数字恢复到 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 } ?>
4

1 回答 1

0

在 的点击处理程序中r2,您有:

var numb = 30;
var numba = 100;

这些将创建新的局部变量,并且不会触及全局变量。删除var此处以使其更新全局变量。

于 2012-10-24T19:12:02.683 回答