已运行5次时重置无限循环

时间:2015-01-09 14:35:38

标签: javascript jquery loops variables reset

我已经进行了无限循环,包括变量,数组和放大器。我现在想要包括重置功能。<​​/ p>

在此脚本中,'LoopNumber'变量用于确定数组中的哪个数字将打印到'marqueetext'分区的内容中。

因为在脚本开始时循环编号的整数为'1',所以变量'marqueepicker'将受影响。因此,脚本必须重置为5个循环,而不是6。

<script>
    var StopLoop = false;
    var Loop = null;
    var LoopNumber = 0;
    var MarqueeArray = ["1", "2", "3", "4", "5", "6"];
    var MarqueePicker = 0;

    Loop = function(){
        LoopNumber = LoopNumber + 1;
        MarqueePicker = LoopNumber - 1;

    $(".marqueetext").text(MarqueeArray[MarqueePicker]);
        if(!StopLoop) window.setTimeout(Loop,1000);
        }; 

    Loop();

    </script>

为了展示JS的各个方面,这个脚本需要包含所包含的属性。

以前关于重置功能的工作包括

   if (LoopNumber == 6) {
       LoopNumber = 0    
   };

我没有成功将这些添加到脚本中,因为无论位置和位置如何,循环都会继续。我知道代码没有缩进,操作符可能不完全正确,但是这个脚本是一个测试模块,因此细节和效率将包含在之后。

http://jsfiddle.net/#&togetherjs=drimOc2l61

如果可能的话,你能提供任何帮助吗?关于此重置的指导!提前谢谢。

2 个答案:

答案 0 :(得分:4)

替换

LoopNumber = LoopNumber + 1;

LoopNumber = LoopNumber % MarqueeArray.length + 1;

这将确保您的循环编号始终在您的选框数组的适当范围内

-DEMO-

答案 1 :(得分:1)

您的脚本有一个快速问题......

if (LoopNumber == 6) {
    LoopNumber == 0    
};

应该......

if (LoopNumber == 6) {
    LoopNumber = 0    
};

不要使用双等于重置变量。