본문 바로가기
코딩도전기/Dom

DOM_TEST

by 코도꼬마 2023. 2. 9.

버튼을 누르면 글자 색상이 '->->->->->->' 순서로 변경되는 코드짜기

<body>
<!--버튼을 누르면 글자 색상이 '빨->주->노->초->파->남->보' 순서로 변경되는 코드입니다.-->
<!--마지막 순서인 보라색이 되면 다시 빨강으로 돌아옵니다.-->

    <p>버튼을 누르면 글자 색상이 변경된다</p>                                               
    <p>빨->주->노->초->파->남->보</p>
    <p>보라색에서 다시 클릭하면 빨강으로 되돌아 온다</p>

	<!--먼저 id가 "txt"인 h1태그와-->
    <h1 id="txt">글자 색상이 변경됩니다</h1>  
    
	<!--색상변경을 해줄 button을 만들어줍니다.-->
    <button id="btn">색상변경</button> <!--onclick="cc()"-->                   
</body>
<script>
	//색상을 차례대로 변경할 수 있도록 배열로 담아주었고
    var colorList = ['red','orange','yellow','green','blue','navy','purple']; 
    
    //버튼 클릭 수를 담을 수 있는 변수 i를 선언했습니다.
    var i = 0;                                                                

//'btn'을 아이디로 가진 버튼태그를 가져와 addEventListener로 버튼을 클릭할 경우 다음 기능을 실행하도록 설정해줍니다.
    document.getElementById('btn').addEventListener('click',function(){     
    
//익명함수를 사용하는 이유는 이 함수를 다른 곳에서는 사용하지 않을 것이기 때문입니다. 
//우선 글자색이 보라색에서 다시 빨강색이 될 수 있도록 i의 값이 colorList배열의 길이와 같아지면 0으로 초기화할 수 있도록 if문을 작성해줍니다.
        if(i == colorList.length){                                            
            i = 0;                                                            
        }
        //console.log(i);          
        
//i가 colorList배열의 인덱스 값 이하이면 h1태그의 글자색상이 colorList배열의 [i]값의 색상으로 변경되도록 지정해줍니다.
        document.getElementById('txt').style.color = colorList[i];    
        
        //이벤트가 한번 발생할 때 마다 i를 증가시켜줌으로 다음 배열로 넘어갈 수 있도록 합니다.
        i++;                                                                  
    });  
    
//i가 colorList배열의 인덱스 값과 같아지면 마지막으로 색상을 보라색으로 변경시켜준 후 if문에 의해 다시 0으로 초기화됩니다.

'코딩도전기 > Dom' 카테고리의 다른 글

부모창_자식창 코드리뷰  (0) 2023.02.10
CODO Day8_Java Script_DOM  (0) 2023.02.10
CODO Day7_Java Script_DOM  (0) 2023.02.09
CODO Day6_Java Script_Dom(속성&이벤트)  (0) 2023.02.08