Javascript 如何循环此函数?

Javascript 如何循环此函数?,javascript,jquery,Javascript,Jquery,我正在使用显示动画计数器: setTimeout(function (){ $('.odometer').html(8567); }, 1000); </script> <script> window.odometerOptions = { duration: 3000 }; 但它打破了柜台。我假设在定义循环时不能混合使用setTimeout,但不知道还能尝试什么。setTimeout函数中的1000只是一个巧合,是页面加载后启动函数的延迟。如果您想在一段时

我正在使用显示动画计数器:

  setTimeout(function (){
  $('.odometer').html(8567);
}, 1000);
</script>
<script>
window.odometerOptions = {
  duration: 3000
};

但它打破了柜台。我假设在定义循环时不能混合使用
setTimeout
,但不知道还能尝试什么。
setTimeout
函数中的1000只是一个巧合,是页面加载后启动函数的延迟。

如果您想在一段时间内重复调用这样的函数,应该使用not setTimeout

您需要跟踪循环的当前值,您现在正在将计数器每次设置为8567

const start=1000;
常数max=1010;
var c=启动;
var el=document.getElementById('counter');
函数计数器(){
如果(c>最大值){
c=启动;
}
el.innerHTML=c+“”;
C++;
}
计数器();//可选,如果要延迟启动计时器,可以排除
设置间隔(计数器,1000)

尝试提供一个工作片段,我们可以在其中调试并帮助您。如果您想在不停止的时间间隔内完成某项工作,请使用
setInterval
而不是
setTimeout
;您正在尝试传递一个未定义为
html()
的变量(
8567
)。你需要传递一个字符串。你的循环每一次都做同样的事情。@CalvinNunes谢谢-我提供的第一个代码片段是按预期的方式工作的(减去那些额外的s。我只想在它上面展开,让计数器重新开始,并计数到我预先确定的值8567。实际上,我希望计数器总是返回一个预先确定的值,就像本页上的其他里程表示例一样:我想重复一下-链接也显示了这一点,介于两个差值之间每个面板上都有不同的值。我就是搞不清楚它是如何完成的。
$(document).ready(function () {
function loop(){
    setTimeout(function (){
    $('.odometer').html(8567);},1000,loop);

loop();
});