이미지 묶음을 재귀 적으로로드하려고하는데 13 번의 재귀 제한 때문에 god-forsaken IE를 제외한 모든 브라우저에서 완벽하게 작동합니다.jQuery 재귀 적 이미지로드 및 IE
이제이 문제를 직접 해결할 수 있습니다.하지만 jQuery를 배우는 중이므로 "우수 사례"를 따르고 싶습니다. 그리고 저는 여기 주변의 지도자가 도움이 될만한 포인터를 줄 수 있다고 생각합니다. 어떻게 고칠 것을 제안 하시겠습니까?
내 코드 :
$(document).ready(function(){ loadThumbs(["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg", "9.jpg","10.jpg","11.jpg","12.jpg","13.jpg","14.jpg","15.jpg", "16.jpg","17.jpg","18.jpg","19.jpg","20.jpg"], 0); }); function loadThumbs(files, index){ if(index == files.length) return; var file = files[index]; var image = new Image(); $(image) .load(function(){ $("#container").append(image); loadThumbs(files, index+1); }) .addClass("thumb") .attr("src", file); }
이 당신이 스택 오버플로 오류가 발생합니다 (내 경우 8) IE에서 시도하십시오.
감사합니다.
어쩌면 나는 그것을 얻지 못했지만 어떻게 재귀를 중지합니까? – Dalen
그냥 메모, 왜 당신은 전혀 재귀를 사용하고 있습니까? 배열의 항목을 반복하는 단순한 for-loop는 괜찮습니다. – Ozzy
젠장, 내 잘못이야. 정지 조건을 삭제하는 것을 잊어 버렸습니다. 함수의 시작 부분에서 "if (index == files.length) return;" 그래서 재귀를 멈추는 것은 문제가 아닙니다. 20 개의 파일이 모두로드 된 후 중지 된 경우에도 모든 브라우저가 페이지를 올바르게 표시하고 13 번의 재귀 후에 IE가 실패합니다. –