테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 질문드립니다. 채택완료

퓔퓔 11년 전 조회 5,518
function vision_fade(){
var new_arr = ["stage","light","title","text01","circle02","text02","circle01","text03"];
setTimeout(function(){$("div#vision img#"+new_arr[0]).fadeIn(500)}, 1200);
setTimeout(function(){$("div#vision img#"+new_arr[1]).fadeIn(500)}, 1700);
setTimeout(function(){$("div#vision img#"+new_arr[2]).fadeIn(500)}, 2200);
setTimeout(function(){$("div#vision img#"+new_arr[3]).fadeIn(500)}, 2700);
setTimeout(function(){$("div#vision img#"+new_arr[4]).fadeIn(500)}, 3200);
setTimeout(function(){$("div#vision img#"+new_arr[5]).fadeIn(500)}, 3700);
setTimeout(function(){$("div#vision img#"+new_arr[6]).fadeIn(500)}, 4200);
setTimeout(function(){$("div#vision img#"+new_arr[7]).fadeIn(500)}, 4700);
}
순차적으로 이미지들이 나오도록 코딩을 위처럼 하니 잘 나옵니다.
하지만 위 구문을 for문으로 변경해서..
function vision_fade(){
var new_arr = ["stage","light","title","text01","circle01","text02","circle02","text03"];
for (var i=0; i
setTimeout(function(){$("div#vision img#"+new_arr[i]).fadeIn(500)}, parseInt(i*500)+1200);
}
}
이렇게 하니 작동이 되질 않습니다.
제가 뭔가 실수한 게 있는 걸까요? 흠..
댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
11년 전
setTimeout(function(){$("div#vision img#"+new_arr[i]).fadeIn(500)}, parseInt(i*500)+1200);
=>
(function(i) {
    setTimeout( function() {$("#" + new_arr[i]).fadeIn(500) }, parseInt(i*500)+1200);
})(i);
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인