본 글의 예시는 참고용으로 순환 애니메이션을 구현하기 위한 setTimeout의 구체적인 코드를 공유하고 있습니다. 또한 조건이 다시 발생할 때 setInterval이 지워질 때까지 계속 실행하는 것이 더 쉽습니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <p id='box'></p> <script> var oBox = document.getElementById("box"); var maxLeft = utils.win('clientWidth')-oBox.offsetWidth; var step = 5; var timer = null; //使用递归思想完成setTimeout的轮循动画:每一次在执行动画之前把上一次设置没用的定时器清除掉,节约我们的内存空间 function move(){ window.clearTimeout(timer); var curLeft = utils.css(oBox,"left"); if(curLeft+step >= maxLeft){//边界判断 utils.css(oBox,"left",maxLeft); return; } curLeft+=step; utils.css(oBox,"left",curLeft); timer = window.setTimeout(move,10) } move(); </script> </body> </html>
이 루프되어 애니메이션 효과를 형성합니다.
두 번째 질문:
위 내용은 JavaScript가 setTimeout을 사용하여 순환 애니메이션을 구현하는 방법에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!