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

JavaScript에서 수동 및 자동 애니메이션을 구별하는 방법은 무엇입니까?

<시간/>

수동 애니메이션

수동 애니메이션에서 애니메이션 프로세스는 자동화되지 않습니다. 다음은 DOM 객체 속성과 자바스크립트 기능을 이용하여 간단한 애니메이션을 구현한 것이다. 다음 목록에는 다양한 DOM 메서드가 포함되어 있습니다.

  • 자바스크립트 함수 getElementById()를 사용하고 있습니다. DOM 개체를 가져온 다음 전역 변수 imgObj에 할당합니다.
  • 초기화 함수 init()를 정의했습니다. imgObj 초기화 위치와 왼쪽 속성을 설정한 곳입니다.
  • 창 로드 시 초기화 함수를 호출하고 있습니다.
  • 마지막으로 moveRight() 를 호출합니다. 왼쪽 거리를 10픽셀 늘리는 기능입니다. 음수 값으로 설정하여 왼쪽으로 이동할 수도 있습니다.

예시

JavaScript에서 애니메이션을 구현하기 위해 다음 코드를 실행할 수 있습니다.

<html>
   <head>
      <title>JavaScript Animation</title>
      <script>
         <!--
            var imgObj = null;

            function init() {
               imgObj = document.getElementById('myImage');
               imgObj.style.position= 'relative';
               imgObj.style.left = '0px';
            }
            function moveRight() {
               imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
            }
            window.onload =init;
         //-->
      </script>
   </head>
   <body>
      <form>
         <img id="myImage" src="/images/html.gif" />
         <p>Click button below to move the image to right</p>
         <input type = "button" value = "Click Me" onclick = "moveRight();" />
      </form>
   </body>
</html>

자동 애니메이션

JavaScript 함수 setTimeout()을 사용하여 이 프로세스를 자동화할 수 있습니다. 다음과 같이 -

여기에 더 많은 방법이 추가되었습니다. 여기서 새로운 기능을 살펴보겠습니다 -

  • moveRight() 함수가 setTimeout()을 호출하고 있습니다. imgObj.의 위치를 ​​설정하는 함수
  • 새로운 기능 stop()을 추가했습니다. setTimeout() 에 의해 설정된 타이머를 지우려면 기능을 사용하고 개체를 초기 위치에 설정합니다.

예시

JavaScript에서 자동화된 애니메이션을 구현하기 위해 다음 코드를 실행할 수 있습니다 -

<html>
   <head>
      <title>JavaScript Animation</title>
      <script>
         <!--
            var imgObj = null;
            var animate ;

            function init() {
               imgObj = document.getElementById('myImage');
               imgObj.style.position= 'relative';
               imgObj.style.left = '0px';
            }
            function moveRight() {
               imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
               animate = setTimeout(moveRight,20); // call moveRight in 20msec
            }
            function stop(){
               clearTimeout(animate);
               imgObj.style.left = '0px';
            }
            window.onload =init;
         //-->
      </script>
   </head>
   <body>
      <form>
         <img id="myImage" src="/images/html.gif" />
         <p>Click the buttons below to handle animation</p>
         <input type = "button" value = "Start" onclick = "moveRight();" />
         <input type = "button" value = "Stop" onclick = "stop();" />
      </form>
   </body>
</html>