我试图添加一个睡眠/延迟功能来制作div滑出的动画。此刻它会立即转动-60em而不会有任何延迟,从而阻止div滑出。
Dunno为什么setTimeout
忽略了时间延迟。
for(activeSlide; activeSlide < i; activeSlide++){
animateLeft(activeSlide);
function animateLeft(activeSlide){
div[activeSlide].style.left = step+'em';
step -= 6;
if(step < -60) {
return;
}
setTimeout(animateLeft(activeSlide), 5000);
}
}
答案 0 :(得分:2)
您立即调用animateLeft(activeSlide)
并设置超时,以便在5秒内调用其返回值。
你想要这个:
setTimeout(function() { animateLeft(activeSlide); }, 5000);
或者这个:
setTimeout(animateLeft, 5000, activeSlide);