이 기사의 예에서는 jQuery와 JS가 루프에서 일시 중지를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
질문:
jquery는 배열을 반복합니다. 반복할 때마다 2초의 일시 중지가 필요한 경우 jQuery의 .earch 루프를 사용할 때 설정 방법에 관계없이 일시 중지되지 않습니다.
setTimeout은 처음 실행될 때만 일시 중지됩니다.
원인 추측:
js가 멀티스레딩을 실행하기 시작하나요?
개선 사항:
루프를 제어하려면 setInterval로 변경하세요. 배열의 최대값에 도달하면 ClearInterval이 루프를 취소합니다.
다음은 jQuery 코드입니다.
<script type="text/javascript"> var arr = new Array(); var arrk = 0; jQuery(function() { arr[0] = "aaa.keleyi.com"; arr[1] = "bbb.keleyi.com"; arr[2] = "ccc.keleyi.com"; mytime = setInterval(function(){showme()}, 2000); function showme(){ alert(arr[arrk]); arrk += 1; if(arrk>2) clearInterval(mytime); } }); </script>
다음은 Javascript 코드입니다.
<script type="text/javascript"> var arr = new Array(); var arrk = 0; arr[0] = "aaa.keleyi.com"; arr[1] = "bbb.keleyi.com"; arr[2] = "ccc.keleyi.com"; mytime = setInterval(function () { showme() }, 2000); function showme() { alert(arr[arrk]); arrk += 1; if (arrk > 2) clearInterval(mytime); } </script>
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.