0

我即将制作一些 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>

如何?

谢谢。

4

3 回答 3

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();
}
于 2012-11-07T11:02:44.250 回答
0

采用

setInterval()

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

callback : function() {
    contor++;
    if(contor < 3) {
       setInterval(yourFunction, delayMilliseconds)
    }
}
于 2012-11-07T11:03:56.880 回答
0

采用 -

window.setInterval("javascript 函数",毫秒);

参考 -

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

于 2012-11-07T11:04:27.490 回答