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

function문 안에서 for문 들리고 있습니다. 채택완료

그렌트힐 5년 전 조회 2,260

</p>

<p>function myselected(g_idx, select_idx.....){</p>

<p>if (obj.className == 'default' || obj.className == 'over') { // 선택가능한 상태

       obj.className = "selected";

        if (pos != 1) { // 선택된 값이 1이 나머지 pos 를 모두 변경

               for(i=1; i<12; i++){

                ele = document.getElementById(g_idx + "_" + i + "_1");

                if (ele && ele != null) {

                    if (ele.className == "selected") {

                        ele.className = "default";

                        

                    }

                }            

            }

        }</p>

<p>

 

안녕하세요. 

function 안에서 for문을 돌리는데요, 하나의 조건이 더 붙을때...가 막혀서 글 남깁니다.

 

위 내용대로 사용하는데요. pos != 1 이 아닐때...나머지 pos 에 해당하는 ele 값을 찾아서 

모두 class값을 변경합니다.(selected 일때만 default 로)

 

저 구문은 실행에 문제 없습니다. 단지 원하는 바를 얻지는 못했습니다.

 

단지, 하나 조건을 더 넣을려고 합니다.

 

for문에서 i 값을 (ele = document.getElementById(j_idx + "_" + i + "_1");) 이부분에 넣어 

활용하고 있는데요. 제가 구현하려고 하는건..

 

만약 i = 3 일때...저 i=3 인것을 제외하고 for문을 돌릴수 있을까 해서요.

i = 4 일때도 마찬가지 구요...즉, 넘어온 값의 i 값은 제외 하고 for 문을 돌릴수 있나 해서요..

 

물론, 노가다 한다 생각하고 for 문을 i 보다 적은수로 한번, 높은수로 한번..이렇게 두번 돌려야 하나..

생각해 봤는데요. i 가 어떤값이 넘어 올지도 모르는데...1~11 까지의 경우의 수로 모두 구문을 작성해 두는것은 말도 안되는거 같구요.....좀더 효과적인 방법이 있지 않을까 해서요..

 

if (pos != 1) { // 부터 새로 짜야 할거 같습니다.

 

pos 는 현재 id 값이 아닙니다. 

id 값이 3 일때..나머지 3을 제외한 1~33 을 모두 적용 하는 방법을 찾고 있습니다.

 

넘겨진 id 값( 최대 경우의 수 1~33)을 제외한 나머지에 대한 for문....

 

조언 구하고자 합니다. 

오늘도 지식 구걸합니다. 감사합니다.

 

 

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

답변 1개

채택된 답변
+20 포인트
5년 전

※ https://www.w3schools.com/php/php_looping_break.asp">https://www.w3schools.com/php/php_looping_break.asp

 

function myselected(g_idx, select_idx.....){
    if (obj.className == 'default' || obj.className == 'over') { // 선택가능한 상태
        obj.className = "selected";
        for(i = 1; i < 12; i++) {
            if (pos == i)
                continue;

 

            ele = document.getElementById(g_idx + "_" + i + "_1");
            if (ele && ele != null) {
              if (ele.className == "selected") {
                    ele.className = "default";
              }
            }
        }
    }
}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그렌트힐
5년 전
아 댓글을 지금 봤네요...답변 감사드립니다. 적용해 보도록 하겠습니다.

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

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

로그인