자바스크립트 질문이요

자바스크립트 질문이요

QA

자바스크립트 질문이요

답변 1

본문

화면 전환하는걸 시도해볼려고 합니다. 출력 누르면 외부js파일에서 계산되서 id = x에는 0~30값 넣어놓고, id = y는 30 ~ 60 넣고, id = z 는 60 ~90을 넣어놓게 되고, 그러면 젤 처음에 출력 누르면 id = x먼저 출력되고 버튼 누르는거에 따라 div id 값이 계속 바뀌게 하면서 화면 바뀌는것 처럼 싶은데 어떻게 해야할까요?

//외부js파일

function btn() {

 var arr = [];

    for (var a = 0; a < 100; a++) {

        arr[a+1] = a;

 

for(var b =0; b<30; b++){

var str1 = arr[b+1]+"<br>";

document.getElementById("x").innerHTML = str1;

}

for(var c =30; c<60; c++){

var str2 = arr[c+1]+"<br>"; 

document.getElementById("y").innerHTML = str2;

}

for(var d =60; d<90; d++){

var str3 = arr[d+1]+"<br>"; 

document.getElementById("z").innerHTML = str3;

}

}

//main.html

<div id = 'x'></div>

<button onclick ="btn()">출력</button>

<button onclick ="first()">f</button>

<button onclick ="second()">s</button>

<button onclick ="third()">t</button>

 

 

        <script> //

            var content = document.getElementById("x");

            function first() {

                content.setAttribute("id", "x");

            }

            function second() {

                content.setAttribute("id", "y");

            }

            function third() {

                content.setAttribute("id", "z");

            }

        </script>

 

이 질문에 댓글 쓰기 :

답변 1

몇가지 문제가 있네요..

1. a에 대한 for문에서 }가 빠진 것 같습니다.

 

2. innerHTML에 문자를 1<br>2<br>3<br>.... 식으로 넣을 려고 하는 것 같은데..

 


var str1 = arr[b+1]+"<br>";

이 문장은 for문의 마지막 글자만 들어 갑니다.

 

3. 1에서 30까지 넣는다고 하면,  굳이 for문을 0부터 시작하지 마시고 1부터 시작해 보세요.

위의 것은 30이 아니고 29가 나옵니다.

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 947
© SIRSOFT
현재 페이지 제일 처음으로