如何在setInterval函数中重置值?

时间:2019-07-15 20:24:46

标签: javascript jquery jquery-ui

我每3秒使用jquery的setInterval来更改img src。它有效,但我不想停止但继续。例如,我给了它一个图像名称数组,它选择每个名称并将其放在源中。我正在检查数组长度的索引号,即是否小于继续,否则不行。

满足条件后,我想自动重新启动它,但我不知道如何?

<script type="text/javascript">
    var index = 0;
    var imagesArr = ["p.png", "White.png"];
    var arrLength = imagesArr.length;

    setInterval(function ()
    {
        if (index < arrLength)
        {
            $("#imgSlider").attr("src", "/Content2/img/" + imagesArr[index]);
        }


       // alert(index);

        index++;
    }, 3000);

</script>

更新:

设置其他条件,但不起作用。

  else
        {
            index = 0;
        }

1 个答案:

答案 0 :(得分:1)

    if (index == arrLength) {
      index = 0;
    }

将其置于增量(索引++)以下会在对数组的最后一个元素起作用后立即重置索引。但是,执行所需操作的最干净方法是在现有的if语句之后立即说“ else {}”并在那里重新设置索引,由于您要从0开始而不执行“ index ++”,因此我将放置if语句中的“ index ++”,因此仅在索引仍小于数组长度时才执行。