标签: setinterval

在JavaScript中停止setInterval调用

我用setInterval(fname, 10000);JavaScript在JavaScript中每10秒调用一次函数.是否有可能在某些事件上停止调用它?

我希望用户能够停止重复刷新数据.

javascript setinterval

1332
推荐指数
9
解决办法
90万
查看次数

setTimeout还是setInterval?

据我所知,这两个javascript的行为方式相同:

选项A:

function myTimeoutFunction()
{
    doStuff();
    setTimeout(myTimeoutFunction, 1000);
}

myTimeoutFunction();
Run Code Online (Sandbox Code Playgroud)

选项B:

function myTimeoutFunction()
{
    doStuff();
}

myTimeoutFunction();
setInterval(myTimeoutFunction, 1000);
Run Code Online (Sandbox Code Playgroud)

使用setTimeoutsetInterval有什么区别吗?

javascript setinterval

738
推荐指数
12
解决办法
37万
查看次数

在setInterval函数中传递参数

请告知如何将参数传递给一个名为using的函数setInterval.

我的例子setInterval(funca(10,3), 500);不正确.

javascript parameters setinterval

308
推荐指数
10
解决办法
21万
查看次数

第一次没有延迟地执行setInterval函数

它有一种方法可以配置setIntervaljavascript方法立即执行该方法,然后使用计时器执行

javascript setinterval

296
推荐指数
6
解决办法
15万
查看次数

每60秒调用一次函数

使用setTimeout()它可以在指定的时间启动一个功能:

setTimeout(function, 60000);
Run Code Online (Sandbox Code Playgroud)

但是,如果我想多次启动该功能怎么办?每次时间间隔过去,我都想执行该功能(每60秒,让我们说).

javascript function timer setinterval

227
推荐指数
8
解决办法
39万
查看次数

如果Chrome中的标签处于非活动状态,如何才能使setInterval正常工作?

setInterval每秒运行一段代码30次.这很好用,但是当我选择另一个选项卡(以便我的代码的选项卡变为非活动状态)时,由于setInterval某种原因将其设置为空闲状态.

我做了这个简化的测试用例(http://jsfiddle.net/7f6DX/3/):

var $div = $('div');
var a = 0;

setInterval(function() {
    a++;
    $div.css("left", a)
}, 1000 / 30);
Run Code Online (Sandbox Code Playgroud)

如果您运行此代码然后切换到另一个选项卡,等待几秒钟然后返回,动画将继续在您切换到另一个选项卡时的位置.因此,如果选项卡处于非活动状态,则动画不会每秒运行30次.这可以通过计算setInterval每秒调用函数的次数来确认- 如果选项卡处于非活动状态,则不会是30,而只是1或2.

我想这是通过设计完成的,以提高性能,但有没有办法禁用这种行为?在我的场景中,它实际上是一个缺点.

javascript google-chrome setinterval

171
推荐指数
8
解决办法
11万
查看次数

在运行时更改SetInterval的间隔

我编写了一个javascript函数,它使用setInterval在十分之一秒内操作一个字符串,进行一定次数的迭代.

function timer() {
    var section = document.getElementById('txt').value;
    var len = section.length;
    var rands = new Array();

    for (i=0; i<len; i++) {
        rands.push(Math.floor(Math.random()*len));
    };

    var counter = 0
    var interval = setInterval(function() {
        var letters = section.split('');
        for (j=0; j < len; j++) {
            if (counter < rands[j]) {
                letters[j] = Math.floor(Math.random()*9);
            };
        };
        document.getElementById('txt').value = letters.join('');
        counter++

        if (counter > rands.max()) {
            clearInterval(interval);
        }
    }, 100);
};
Run Code Online (Sandbox Code Playgroud)

我没有将间隔设置为特定的数字,而是希望在每次运行时根据计数器更新它.所以代替:

var interval = setInterval(function() { ... }, 100);
Run Code Online (Sandbox Code Playgroud)

它会是这样的:

var interval …
Run Code Online (Sandbox Code Playgroud)

javascript timer setinterval

147
推荐指数
6
解决办法
14万
查看次数

简单的JavaScript倒计时器的代码?

我想使用一个简单的倒数计时器,从运行函数30秒开始,到0结束.没有毫秒.怎么编码?

jquery counter timer setinterval clearinterval

143
推荐指数
4
解决办法
29万
查看次数

停止setInterval

我想在error处理程序中停止此间隔重复运行.这有可能,如果是的话,怎么样?

// example code
$(document).on('ready',function(){
    setInterval(updateDiv,3000);
});

function updateDiv(){
    $.ajax({
        url: 'getContent.php',
        success: function(data){
            $('.square').html(data);
        },
        error: function(){
            $.playSound('oneday.wav');
            $('.square').html('<span style="color:red">Connection problems</span>');
            // I want to stop it here
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

html javascript jquery setinterval

112
推荐指数
4
解决办法
19万
查看次数

可以在setInterval()中调用clearInterval()吗?

bigloop=setInterval(function () {
              var checked = $('#status_table tr [id^="monitor_"]:checked');
                if (checked.index()===-1 ||checked.length===0 || ){
                    bigloop=clearInterval(bigloop);
                    $('#monitor').button('enable');
                }else{

                        (function loop(i) {                           
                            //monitor element at index i
                            monitoring($(checked[i]).parents('tr'));
                            //delay of 3 seconds
                            setTimeout(function () {
                                //when incremented i is less than the number of rows, call loop for next index
                                if (++i < checked.length) loop(i);
                            }, 3000);
                        }(0)); //start with 0
                }                            
            }, index*3000); //loop period
Run Code Online (Sandbox Code Playgroud)

我有上面的代码,有时它工作,有时它不是.我想知道clearInterval是否真的清除了计时器?因为有这个monitor按钮只有在它monitoring起作用时才会被禁用.clearInterval.outputRemove点击一个被调用的元素时,我有另一个.请参阅以下代码:

//remove row entry in the …
Run Code Online (Sandbox Code Playgroud)

javascript jquery setinterval clearinterval

108
推荐指数
1
解决办法
8万
查看次数