javascript - 无限次重复函数

标签 javascript function intervals infinite

基于一些早期的问题,我尝试无限次运行我的函数。 但还是不行。 如果我运行脚本,它会在奇怪的时刻被破坏,然后再次运行脚本之前会有很长的间隔。 谁能帮助我让这个脚本不间断地运行? 谢谢。

<script type="text/javascript">
$("#go").hide().ready(function(){
animatie();
});
var d = 0;
function animatie() {
 for(var i = 0; i < 3; ++i){
  var b = ".block"+i;
  $(b).hide().delay(d).fadeIn(2000);
  $(b).hide().delay(1000).fadeOut(2000);
  d += 4000;
 }
}
window.setInterval(animatie, 13000);
</script>

最佳答案

您可能希望在每次 setInterval 触发时将 d 重置为 0。另外,也许 4000 应该改为 5000 (2000 + 1000 + 2000)。最后,您不需要 .hide() 两次:http://jsfiddle.net/nZHCB/ .

function animatie() {
 var d = 0;
 for(var i = 0; i < 3; ++i){
  var b = ".block"+i;
  $(b).hide().delay(d).fadeIn(2000).delay(1000).fadeOut(2000);
  d += 5000;
 }
}
animatie();
window.setInterval(animatie, 15000);

也就是说,您还可以使用一个函数来迭代元素。当最后一个动画 (.fadeOut) 完成时,使用下一个元素再次调用该函数: http://jsfiddle.net/nZHCB/2/ .

$("div").hide();

(function animatie(i) {
    var b = ".block" + i;
    $(b).fadeIn(2000).delay(1000).fadeOut(2000, function() {
        animatie((i + 1) % 3);
    });
})(0);

关于javascript - 无限次重复函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14755197/

相关文章:

javascript - 在网络服务器中发送实时语音或声音

javascript - 如何在 jQuery 中包装两个元素的组?

bash - 如何重命名 bash 函数?

php - php中两个日期之间的第一天

r - 如何绘制具有置信区间的数据?

javascript - 在 javascript 中查找 map 中的键

javascript - 在 Fabric js 中的两个对象之间添加动画

vba - 如果二维数组中的值存在于另一个二维数组中

PHP多重封装函数全局变量作用域

r - 如何将连续变量分割为相等长度(定义数量)的区间并仅在R中列出带有分割点的区间?