2016-11-12 53 views
-2

Javascript/jquery专家,如何让这个脚本具有无限循环?

我有这个脚本。

的JavaScript

$(document).ready(function(){ 
    var number = 1; 
    var timer = setInterval(function() { 
    if(number == 1){str = "Professionl Designer"} 
    else if(number == 2){str = "Professionl Marketer"} 
    else if(number == 3){str = "Professionl Programmer"} 
    else if(number == 4){str = "Professionl Developer"}  
    $("#test").html("<div>"+ str+"</div>").fadeTo(600, 0.1).fadeTo(600, 1.0); 
    ++number; 
    if(number == 5){ 
     clearInterval(timer); 
    } 
    }, 2500); 
}); 

HTML

<div id = "test"></div> 

检查其fiddle

该脚本显示上次冠军后停止。

它应该在连续循环中显示最后一个标题后再次显示第一个标题。

+2

而不是'clearInterval'只需将'number'重新设置为1? – vlaz

+0

如果你不想停止这个时间间隔,你为什么要调用'clearInterval(timer);'? –

+0

@vlaz请与小提琴分享代码。谢谢 –

回答

0

重置次数每次循环

$(document).ready(function() { 
 
    var pro = ["Professional Designer", 
 
      "Professional Marketer", 
 
      "Professional Programmer", 
 
      "Professional Developer"]; 
 

 
    var number = 0; 
 
    var timer = setInterval(function() { 
 
    
 
    $("#test").html("<div>" + pro[number] + "</div>").fadeTo(600, 0.1).fadeTo(600, 1.0); 
 
    ++number; 
 
    if (number == 4) { 
 
     number = 0; 
 
    } 
 
    }, 2500); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="test"> 
 
</div>

或更短后,与国防部%

$(document).ready(function() { 
 
    var pro = ["Professional Designer", 
 
      "Professional Marketer", 
 
      "Professional Programmer", 
 
      "Professional Developer"]; 
 

 
    var number = 0; 
 
    var timer = setInterval(function() { 
 
    
 
    $("#test").html("<div>" + pro[number] + "</div>").fadeTo(600, 0.1).fadeTo(600, 1.0); 
 
    number = (number+1) %4; 
 
    
 
    }, 2500); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="test"> 
 
</div>

+0

感谢您的代码。不过,我还需要在脚本中另外一件事。当显示第二个标题时,第一个标题不会完全消失。怎么做 ?我想在慢动作中显示所有标题,但每个标题都必须完全消失。现在看起来第一个标题,第二个标题开始出现。我希望你明白我的观点。谢谢。 –

+0

评论中提出的第二个问题不是原始问题的一部分。如果答案涉及您的原始问题,您应该喜欢或投票,而不是要求额外的帮助。 –

+0

@RajeshSurry你可以缩短间隔,现在它是2500 - 将其改为衰退到持续时间(1200)的总和以获得更连续的动画 – user2314737