Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

jQuery를 사용하여 애니메이션에 이징 효과를 추가하는 방법은 무엇입니까?

<시간/>

애니메이션에 부드럽게 효과를 추가하려면 애니메이션 속도를 적절하게 사용하여 웹 페이지에 완벽한 애니메이션을 만듭니다. 애니메이션 속도를 높이지 말고 animate()를 사용하는 동안 중지할 위치를 알아야 합니다.

다음 예에서는 답변을 추가할 수 있는 텍스트 영역으로 이동하는 버튼이 있습니다.


<button class="btn" id="answer">
   Add answer
</button>

이제 페이드 아웃 속성을 적절하게 설정하여 이징 효과를 설정합니다.

예시

<!DOCTYPE html>
<html>
<head>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
   <script>
      $(document).ready(function(){
         $('body').on('click', '#answer', function() {
            var container = $('.new-answer');

            container.css('opacity', '0');

            $(this).fadeOut('fast', function() {
               $(this).hide();
               container.show();
               container.animate({ height: "200px",
               opacity: 1}).animate({
               height: "170px" });

            });
         });
      });
   </script>
<style>
.btn {
   width: 150px;
   height: 40px;
   color:#666666;
   text-decoration: none;
}
.new-answer {
   background: none repeat scroll 0 0 #00FFFF;
   border: 2px solid #94ACBE;
   border-radius: 5px 5px 5px 5px;
   margin-bottom: 40px;
}
.new-answer .middle, .top {
   padding: 0 10px;
}
.new-answer textarea {
   color: #000080;
   font: 12px;
   height: 120px;
   padding: 2px;
   width: 100%;
}
</style>
</head>
<body>
<button class="btn" id="answer">Add answer</button>
<div class="new-answer" hidden="true">
<div class="top">
<span>Add a new answer below</span>
</div>
<div class="middle">
<textarea id="question-content"></textarea>
</div>
</div>
</body>
</html>