본문 바로가기
프로그래밍/jQuery

jQuery.fx.off, 전체 애니메이션 효과 전역 설정

by zoo10 2012. 4. 19.

jQuery.fx.off

원문 링크 http://api.jquery.com/jQuery.fx.off/

jQuery.fx.offReturns : Boolean

개요 : 모든 에니메이션 효과를 전역적으로 불가상태로 만듭니다.

  • jQuery.fx.off

이 속성값이 true 라면, 모든 에니메이션 함수들은 호출된 시점의 마지막으로 실행된 상태 그대로 그 즉시 취소됩니다. 이런 세팅은 아래와 같은 상황일 때 사용할 가능성이 있습니다.

  • jQuery 가 사양이 낮은 디바이스에서 실행될 때.
  • 에니메이션 효과에 대해 접근성 문제가 발생했을 경우 (이 문제에 대해 더 알고 싶으시면 Turn Off Animation 이 링크의 글을 참고하십시요. 아 물론 영문입니다. ^^;;;).

에니메이션을 다시 실행하고 싶다면 이 속성값을 false 세팅하면 됩니다..

예 제  
에니메이션 효과를 토글합니다.

<!DOCTYPE html>
<html>
<head>
  <style>
    div { width:50px; height:30px; margin:5px; float:left;
          background:green; }
    </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <p><input type="button" value="Run"/> <button>Toggle fx</button></p>
<div></div>
<script>
var toggleFx = function() {
  $.fx.off = !$.fx.off;
};
toggleFx();

$("button").click(toggleFx)

$("input").click(function(){
  $("div").toggle("slow");
});
  </script>

</body>
</html>

미리보기

전역변수로 효과의 발생여부를 결정하네요. 예제 중에 $.fx.off = !$.fx.off 가 흥미롭네요. 반대값을 어싸인하는 아주 유용한 방법인 듯 합니다. if.. else 로 처리하려면 아주 길어지겠죠. 아~ 물론 가독성은 좀 떨어지긴 하지만요. ^^ 익혀두시면 좋겠네요.

 

애니메이션 효과 전체를 중지시키려면 요 속성을 잊지 마세요.

그럼 즐프하세요.

※ 본 예제는 http://www.jquery.com 에 있는 내용임을 밝힙니다.