자바스크립트 for문장 내부의 시간 딜레이....문의 입니다

Copy
for( var i=st_no ; i<=ed_no ; i++){	      setTimeout(function(){                    $('#save_data').trigger('click');					var rowPosition=Grid.getRowPosition(myGridID);                    if( (row_index-rowCount)>0){						if( (row_index-rowPosition)>15){                             Grid.setRowPosition(myGridID, row_index-rowCount); 						}                    }	             Grid.setSelectionByIndex(myGridID, row_index+1, col_no);	      }, 200);	}

 

 원래는 데이터 저장을 위해 일일이 키를 눌러 (F2 저장)야만하는데..

 귀찮아서, 범위정해서 자동 저장 키 눌러주는 자스 한번 구현해 봤습니다~

 

 초보라 그런지.. 작동이 안되네요..ㅠ.

 원래,  for문 내부에서 time delay가 안되는건가요?

 아니면.. for 루프가 먼저 실행되 버리는 건가요?

 

** 참고로, click이 되면.. 서버로 전달되는 Ajax 저장루틴이 있습니다..

 

 조언 부탁드립니다~

 

|

답변 2개

Copy
(function() {    var i = 0;    (function run() {        console.log(sequence[i]);        i = (i+1) % sequence.length;        setTimeout(run, 2000); // <--- 딜레이 타임    }());}());

 

이 방법이 더, 안정적이네요..

Copy
for( var i=st_no ; i<ed_no ; i++){       (function(i){          setTimeout(function(){			     click_save('1');          }, 1000 * i);       }(i));    }

 

자문자답..이네요!

위처럼 해결했습니다~ 잘 작동됩니다..

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