본문으로 바로가기

메뉴만들기연습3

category CSS 2019. 11. 20. 14:26

문제

back-drop의 display 값이 변경되는 것을 상태값으로 관리해보세요.

 

1. javascript의 상태값 개념을 알고 사용할 줄 안다.

2. 상태값이 어떤 것을 기준으로 변경되어야하는 줄 안다.

 

css

변경없음

html

변경없음

javascript

    <script>
        var left=-200;
        document.querySelector("#meunBtn").addEventListener("click", function(){
            left=0;
            document.querySelector(".menu").style.left=left+"px";   
        });

        document.querySelector(".back-drop").addEventListener("click",function(){
            left=-200;
            document.querySelector(".menu").style.left=left+"px";    
        });
        /*
            1. menu가 trasition을 할때 back-drop이 나타났다 사라졌다하므로
            menu에 addeventlistener를 준다.
        */
        /*
            2. back-drop은 나타났다가 사라지는 상태만 있으므로 
            boolean 값으로 상태를 관리하면 좋다.
        */
        var isBackDrop=false; //display:none일때
        document.querySelector(".menu").addEventListener("transitionend", function(){
            if(isBackDrop){
                document.querySelector(".back-drop").style.display="none";
                isBackDrop=false;
            }else{
                document.querySelector(".back-drop").style.display="block";
                isBackDrop=true;
            }
        });
    </script>

 

 

'CSS' 카테고리의 다른 글

Grid system 그리드 시스템 사용법  (0) 2019.11.21
메뉴만들기 연습2  (0) 2019.11.20
메뉴만들기 연습1  (0) 2019.11.19
CSS+Javascript 1  (0) 2019.11.19
이미 만들어져 있는 css요소를 div에 적용해보기  (0) 2019.11.19