Javascript 完成后重复一个函数

Javascript 完成后重复一个函数,javascript,jquery,Javascript,Jquery,我有一个隐藏和显示div的函数 我如何设置它,当函数完成运行后,它应该重新启动 function rotateimages() { setTimeout(function() { restoreOriginal() $('.main2').css('background-image', 'url(/img/2017/home_main_vacation.gif)'); }, 3500); setTimeout(function() { restoreOrigi

我有一个隐藏和显示div的函数

我如何设置它,当函数完成运行后,它应该重新启动

function rotateimages() {
  setTimeout(function() {
    restoreOriginal()
    $('.main2').css('background-image', 'url(/img/2017/home_main_vacation.gif)');
  }, 3500);
  setTimeout(function() {
    restoreOriginal()
    $('.main5').css('background-image', 'url(/img/2017/home_main_tickets.gif)');
  }, 12500);
}

如果您的目标是在两个映像之间永远交替,最简单的解决方案就是在第二次超时结束时从函数本身调用函数。如前所述,这是一个称为递归的原理

function rotateimages() {
  setTimeout(function() {
    restoreOriginal()
    $('.main2').css('background-image', 'url(/img/2017/home_main_vacation.gif)');
  }, 3500);
  setTimeout(function() {
    restoreOriginal()
    $('.main5').css('background-image', 'url(/img/2017/home_main_tickets.gif)');
    rotateimages()//<<<<<<<<<<<<<<<<<<<<<<Recurse here!
  }, 12500);
}
函数rotateimages(){
setTimeout(函数(){
恢复原始的
$('.main2').css('background-image','url(/img/2017/home\u main\u vacation.gif));
}, 3500);
setTimeout(函数(){
恢复原始的
$('.main5').css('background-image','url(/img/2017/home\u main\u tickets.gif));

rotateimages()//您可以使用
css
动画
过渡
来渲染预期结果

.main2、.main5{
显示:块;
宽度:100px;
高度:100px;
背景重复:无重复;
}
.main 2{
过渡:背景图像3.5s缓进缓出;
动画:main2 3.5s轻松输入输出无限交替;
}
缅因州5号{
过渡:背景图像12.5s缓进缓出;
动画:main5 12.5s快进快出无限交替;
}
@关键帧main2{
从{
背景图片:url(http://lorempixel.com/100/100/cats);
}
到{
背景图片:url(http://lorempixel.com/100/100/technics);
}
}
@关键帧main5{
从{
背景图片:url(http://lorempixel.com/100/100/city);
}
到{
背景图片:url(http://lorempixel.com/100/100/nature);
}
}



当它完成运行时,您想做什么?将其放入
setTimeout()中
?让函数本身从函数内部调用。它被称为递归。缩进代码的方式……有创意,但可读性不强。你可以使用
css
来呈现预期的结果。
restoreOriginal
做什么?你能在问题中包括
html
css
吗?看起来你是在试图越狱等等,在回家度假和回家票之间交替,对吗?