카테고리 없음

visibility

psys 2020. 6. 24. 11:47
728x90

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            font-size: 1.5em;
            text-align: center;/*수평중앙정렬*/
        }
    </style>
</head>

<body>
    <div>박성연</div>
    <div>김인웨</div>
    <div>김유운</div>
    <div>전효순</div>
</body>
</html>

 

display:none

존재하나 공간차지도 보이지도 않음

    <style>
        #kii{
            display: none;
        }
    </style>
</head>

<body>
    <div>박성연</div>
    <div id="kii">김인웨</div>
    <div>김유운</div>
    <div>전효순</div>
</body>

 

 

 

visibility:hidden

보이지 않으나 공간은 차지(간격 맞출 때 사용)

    <style>
           #kii{
            visibility: hidden;
        }
    </style>
</head>

<body>
    <div>박성연</div>
    <div id="kii">김인웨</div>
    <div>김유운</div>
    <div>전효순</div>
</body>

</html>

 

 

 

 

 

 

버튼 클릭 시 보이지 않기

1) 버튼 생성

<body>
    <input type="button" value="안보이기" onclick="f_toggle()"><br><br>
    <div>박성연</div>
    <div id="kii">김인웨</div>
    <div>김유운</div>
    <div>전효순</div>
</body>

2) 함수 구현

    <script>
        var v_kii = document.getElementById("kii");
        function f_toggle(){
            v_kii.style.display="none";
        }
    </script>

 

3) 보였다 안 보였다

<body>
    <input type="button" value="안보이기" onclick="f_none()">
    <input type="button" value="보이기" onclick="f_block()"><br><br>
    <div>박성연</div>
    <div id="kii">김인웨</div>
    <div>김유운</div>
    <div>전효순</div>
    <script>
        var v_kii = document.getElementById("kii");
        function f_block(){
            v_kii.style.display="block";
        }
        function f_none(){
            v_kii.style.display="none";
        }
    </script>
</body>

 

 

4) 버튼 더 넣어보자

토글누르면 생겨났다 없어졌다

>> 내방법

    <script>
        var v_kii = document.getElementById("kii");
        var v_state=true;
        function f_block(){
            v_kii.style.display="block";
        }
        function f_none(){
            v_kii.style.display="none";
        }
        function f_toggle(){
            if(v_state){
                v_kii.style.display="none";
                v_state=false;
            }
            else{
                v_kii.style.display="block";
                v_state=true;
            }
        }
    </script>

>> 강사님방법

김인웨에 block주고 함수에서 block이면 none, none이면 block

<body>
    <input type="button" value="안보이기" onclick="f_none()">
    <input type="button" value="보이기" onclick="f_block()">
    <input type="button" value="토글" onclick="f_toggle()"><br><br>
    <div>박성연</div>
    <div id="kii" style="display: block;">김인웨</div>
    <div>김유운</div>
    <div>전효순</div>
    <script>
        var v_kii = document.getElementById("kii");
        var v_state=false;
        function f_block(){
            v_kii.style.display="block";
        }
        function f_none(){
            v_kii.style.display="none";
        }
        function f_toggle(){
            if(v_kii.style.display=="block"){
                v_kii.style.display="none";
                return;//효율적
            }
            else if(v_kii.style.display=="none"){
                v_kii.style.display="block";
                //return 왜 이자리는 안 들어가?
            }
        }
    </script>
</body>

>> 강사님방법2

    <script>
        var v_kii = document.getElementById("kii");
        var v_isShow=true;
        function f_block(){
            v_kii.style.display="block";
                v_isShow=true;
        }
        function f_none(){
            v_kii.style.display="none";
                v_isShow=false;
        }
        function f_toggle(){
            if(v_isShow){
                v_kii.style.display="none";
                v_isShow=false;
            }
            else{
                v_kii.style.display="block";
                v_isShow=true;
            }
        }
    </script>