我似乎无法让jquery变量保留其值

xcdemon05

我正在尝试创建一个从0开始的全局变量,并且每秒钟都增加1。这是我的代码:

$(document).ready(function()
{
    time = 0;

    setTimeout(function(){
        time += 1;
    }, 1000);

});

问题是,当我输出时间值(在时间+ = 1行之后)时,该值始终为1。我希望它走1、2、3、4、5等。我已经看到,不将var放在变量的声明之前会使它成为全局变量,但这并没有保留值。

在我看来,问题是time = 0每个周期都重置为0,但是我不知道如何防止这种情况的发生。我不能只是忽略给时间一个值,因为将1加到一个空变量是不好的。

我该怎么做呢?

保罗

我想你可能想setInterval不会setTimeout

$(document).ready(function () {
    var time = 0;

    setInterval(function () {
        time += 1;
        console.log(time);
    }, 1000);
});

请注意,上述“时间”值的作用范围是该函数。如果您需要将其设置为全局:

var time = 0;

$(document).ready(function () {
    setInterval(function () {
        time += 1;
        console.log(time);
    }, 1000);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章