首页 > 解决方案 > setTimeout 在动画运行之前不起作用

问题描述

setTimeout功能不会延迟我创建的简单动画的开始。

var counter = document.getElementById("counter");	

  function countUp() {
	if(parseFloat(counter.innerHTML) < 100) {
  counter.innerHTML = parseFloat(counter.innerHTML) + 1;	   
     }
	}

setTimeout(countUp, 3000);
var counterId = setInterval(countUp, 125);
<span id="counter">0</span>

标签: javascript

解决方案


不知道你在期待什么——你设置countUp为在三秒后运行,然后你立即告诉它每 125 毫秒运行一次。

如果你想让它延迟启动三秒钟,然后给出setTimeout一个设置间隔的函数,大致:

setTimeout(function () {
  setInterval(countUp, 125);
}, 3000);

推荐阅读