loading
반응형

▶ toggle 메서드

 💻 예제 설명 

이 toggle 메서드는 show / hide 메서드의 기능을 합친 것이라고 생각하면 된다.

버튼 태그를 하나 만들어 이 버튼을 한 번 클릭할 때 어떤 태그 요소를

보이거나 혹은 숨겨지거나 하는 기능을 적용할 수 있다.

 

그럼 이 toggle 메서드는 show (보이는 것)가 먼저냐?

hide(숨겨지는 것) 가 먼저냐? 

 

궁금해 할 수도 있는데, 이건 그 요소가 처음부터 어떤 상태에 있는지에 따라 결정된다.

만약 처음부터 visible 상태인 즉, 요소가 보이는 상태라면 toggle 메서드를 실행하면 hide가 먼저 실행이 될 것이고,

 

반대인 경우, 처음부터 요소가 display : none 인 경우 일 때는 toggle 메서드를 실행하면

show 가 실행이 된다.

 

속성 옵션을 사용하면 좀 더 세밀하게 또는 좀 더 고급진 제어가 가능하다.

속성옵션 사용법 보러가기 ☜

 

Syntax

  1. $('선택요소').toggle();
  2. $('선택 요소').toggle(speed, callback);

 


 

 

 🖥 소스 예제 

1) $('선택 요소').toggle();

 

1 - 1) 사용방법 Syntax

// 일반적인 사용법
$('div').toggle();

 

1 - 2) 예제 (처음 요소가 보이는 상태)

<!DOCTYPE html>
<html>
  <head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <style>
	div{
    	width:200px;
        height:100px;
        background-color:#32a85e;
    }
  </style>
  <script>
  $(document).ready(function(){
    $("button").click(function(){
      $("div").toggle();
    });
  });
  </script>
  </head>

  <body>
    <button>toggle 버튼</button>

    <hr>
    <div></div>
  </body>

</html>

 

 

 

2) $('선택 요소').toggle(speed, callback);

speed : 이 부분은 'slow', 'fast', 숫자(밀리 세컨즈 1000 = 1초)
callback : toggle 메서드가 실행이 완료가 된 후 callback이라는 함수를 실행

 

2 - 1) 사용법 Syntax

// speed : 'fast', 'slow', 밀리세컨즈(1000 = 1초)

$("div").toggle('slow', function(){
    alert('toggle 메서드가 실행이 완료가 된 후 이 알럿창이 호출됩니다.');
});

 

2 - 2) 예제 (처음 요소가 보이지 않은 상태) 

<!DOCTYPE html>
<html>
  <head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <style>
	div{
    	width:200px;
        height:100px;
        background-color:red;
        display : none;
    }
  </style>
  <script>
  $(document).ready(function(){
    $("button").click(function(){
        $("div").toggle('slow', function(){
            alert('toggle 메서드가 실행이 완료가 된 후 이 알럿창이 호출됩니다.');
        });
    });
  });
  </script>
  </head>

  <body>
    <button>toggle 버튼</button>

    <hr>
    <div></div>
  </body>

</html>

 

반응형

 

 

💻 예제 구동 설명 

1 - 2) 예제 ☜

 

결과화면

 

처음 div(녹색 박스) 요소가 보이는 상태에서 toggle 버튼을 클릭하여 toggle 메서드로 인한

div(녹색 박스)가 숨겨지고, 다시 한번 toggle 버튼을 클릭하면 다시 div(녹색박스)가 보인다.

 

 

 

2 - 2) 예제 ☜

 

결과화면

 

 

처음 div(빨간 박스) 요소가 안 보이는 상태에서 toggle 버튼을 클릭하여 toggle 메서드로 인한

div요소(녹색 박스)가 보이고, 이렇게 요소가 다 보이는 게 완료가 되면 callback 함수를 실행시켜

callback 함수 안에 정의한 alert 함수를 실행한다.

 

다시 한번 toggle 버튼을 클릭하게 되면 반대로 요소가 안보이게 되고,

안보이는 행동 자체가 끝나면 callback 함수를 실행한다.

 

 

반응형

+ Recent posts