Javascript 图像循环-重新循环

Javascript 图像循环-重新循环,javascript,jquery,Javascript,Jquery,我有一个函数,在一个范围内的特定时间是随机的。我在重新启动函数时遇到问题,或者将计数器恢复为1,使其在范围后继续循环 这是我的密码: var i = 1; function imgLoop() { setTimeout(function () { var rand = makeUniqueRandom(); j = rand; img4 = '<div id="deck" class="center" >' im

我有一个函数,在一个范围内的特定时间是随机的。我在重新启动函数时遇到问题,或者将计数器恢复为1,使其在范围后继续循环

这是我的密码:

var i = 1;
function imgLoop() {
    setTimeout(function () {
        var rand = makeUniqueRandom();
        j = rand;
        img4 = '<div id="deck" class="center" >'
        img4 += '<img class="img_deck" src="http://example.com/images/' + j + '.jpg" />';
        img4 += '</div">'
        $(img4).hide().appendTo("#img_brd").fadeIn('slow');
        i++;
        setTimeout(function () {
            if (i < 30) {
                $("#img_deck_border").remove().toArray();
                imgLoop();
            }
        }, 2000)

    }, 100)
}

imgLoop();
我尝试将参数作为imgLoopi传递给imgLoop,然后作为imgLoop1传递给imgLoop,但输出错误,并将图像的附加加倍。谢谢你的帮助。

看一看。这是没有图像的代码,它只是展示了如何更改循环的迭代次数。希望它能帮助你

var i = 1;
var amount = 30;
var isRunning = false;
function imgLoop() {
    isRunning = true;
    setTimeout(function () {
        // here should be your work with images
        $("#output").text($("#output").text() + " " + i);
        i++;
        setTimeout(function () {
            if (i < amount) {
                imgLoop();
            }
            else {
                isRunning = false;
                alert("I'm done");
            }
        }, 200)

    }, 100)
}

function addIterations() {
    amount += 10;
    if (!isRunning)
        imgLoop();
}

function start() {
    $("#div-start").remove();
    imgLoop();
}

$("#div-start").on("click", start);
$("#div-add").on("click", addIterations);

如果您希望它在范围之后继续循环,为什么不删除i<30检查?您可以提供一个JSFIDLE吗?这是您的代码,没有图像部分。怎么了?如果您想在函数完成后重置计数器,您必须在某个地方重置计数器,然后再次调用imgLoop。