重复Javascript函数执行时间延迟

时间:2012-11-07 10:59:29

标签: javascript ajax jquery

我即将制作一些

的JS功能
  • 执行前一预定次数的一个功能 (迭代)
  • 在每个功能执行后延迟一段预定的秒数

一个重要的要求是解决方案必须与Ajax兼容。

说:

<script>
functon my_function(numberoftimes, secondsdelay){
//do ajax requests for numberoftimes, separeted by secondsdelay
$.ajax(
            {
                type: "GET/POST",
                url: "exampleurl",
                data: "key=value",
            }
        )
}
<script>

<button onclick="my_function(3,1)">Do it</button>

如何?

感谢。

3 个答案:

答案 0 :(得分:2)

function my_function(numberoftimes, secondsdelay) {
    //do ajax requests for numberoftimes, separeted by secondsdelay
    var i = 0;

    function doIt() {
        $.ajax({
            type: "GET/POST",
            url: "exampleurl",
            data: "key=value",
            complete: function() {
                if (i++ < numberoftimes) {
                    setTimeout(doIt, secondsdelay * 1000);
                }
            }
        });
    }

    doIt();
}

答案 1 :(得分:0)

使用

setInterval()
在你的ajax回调中

并保持你运行该函数的次数。 并在回调上做

callback : function() {
    contor++;
    if(contor < 3) {
       setInterval(yourFunction, delayMilliseconds)
    }
}

答案 2 :(得分:0)

使用 -

window.setInterval(“javascript function”,毫秒);

参考 -

http://www.w3schools.com/js/js_timing.asp