생기


Naboo는 애니메이션 예약 메커니즘과 애니메이션 도구 세트를 포함하고 직렬 및 병렬 애니메이션과 콜백을 지원하며 사용자 정의 플러그인을 지원하는 프런트 엔드 애니메이션 솔루션입니다.

1 선언은 클래스 및 시나리오 기반 인스턴스

var util = require('util');

// 类对象
var Naboo = util.naboo;

// 实例对象
var naboo = new util.naboo();
naboo.animate(...);

사용 선택 2. 사용

1) naboo.animate(dom, prop, opt)

    설명: animate 플러그인, 애니메이션 작업에 특별히 사용되는 플러그인
  • 매개변수 목록:
Parameterdom객체 ObjectnumberstringnumberFunctionstring코드 예시
  naboo.animate(dom, {
      'transform': 'translateX(200px)'
  }, {
      duration: 2000,
      ease: 'ease',
      delay: 1000,
      mode: 'transition',
      cb: function() {
          console.log(1);
      }
  }).start();
TypeRequiredDescription
Object은 애니메이션이 필요한 dom 요소입니다. prop
필수 애니메이션 π CSS 속성 키-값 쌍 객체 opt
No선택적 애니메이션 매개변수 객체opt.duration
No 애니메이션 기간, 기본값 400, 단위 msopt.ease
No애니메이션의 easing 함수 이름, 기본값은easing, 옵션값은 Ease, Linear, Ease-In, Ease- out,easy-in-out opt.delay
No애니메이션 지연 실행 시간, 기본값 0, 단위 msopt.cb
NoCallback 애니메이션이 완료된 후 함수 opt.mode
No애니메이션 모드, 기본값 전환, 옵션 값에는 전환, 키프레임(아직 지원되지 않음), js(아직 지원되지 않음)
    2) naboo.start(fn)

설명: 애니메이션 실행을 시작하는 명령 함수

  • 매개변수 목록:

Parameters유형fnFunction
필수 Description
No애니메이션 완료 후 콜백 기능
  • 사용 예:

      naboo.animate(dom, {      'transform': 'translateX(200px)'
      }, {
          duration: 2000
      }).start();

3) naboo.next()

  • 설명: 애니메이션이 다음 단계로 들어갈 수 있도록 하는 명령 함수입니다. 완료 또는 등록을 호출하기 전에 next()를 호출해야 합니다. (플러그인 등록) 메소드. . 이 함수를 호출한 후에는 현재 실행되지 않습니다. 완성된 애니메이션은 계속 실행되며, 이후의 애니메이션은 실행되지 않습니다. 매개변수 목록: 없음: 이벤트 바인딩, 이 함수를 통해 커스텀 이벤트를 바인딩할 수 있습니다. 목록:

  • Parameters

    Type
Required

Description
  • name

    string
  • 이벤트 이름
  • 입니다.

fn
  • Function

    이 방법입니다
  • 이벤트 트리거링

사용 예: 6) naboo.off( name, fn)설명: 이벤트 바인딩 해제매개변수 목록: Typename
  naboo.animate(dom, {      'transform': 'translateX(200px)'
  }, {
      duration: 2000
  }).done(function(next) {
      console.log(1);
      next();
  });
Parameters
RequiredDescription
string
  • No

    이벤트 이름, 비어 있으면 모든 이벤트가 취소됩니다.

fn
  • Function

    아니요
  • 이벤트 트리거 방법, 비어 있으면 이 이름의 모든 이벤트가 취소됩니다.

사용 예: 7) naboo.trigger(이름, 데이터) 설명: 트리거 이벤트매개변수 목록:Type name
  var instance;
  btnStart.onclick = function () {
      instance = naboo.animate(dom, {
          'transform': 'translateX(200px)'
      }, {
          duration: 2000,
          cb: function() {
              console.log(1);
          }
      }).start();
  }
  btnCancel.onclick = function () {
      instance.cancel();
  }
Parameters
RequiredDescription
string
  • 이벤트 이름입니다. 비어 있으면 모든 이벤트가 해제됩니다.

data
  • Object

    No
  • 이벤트가 트리거될 때 전달되어야 하는 데이터

사용 예: 8) naboo. p(list)설명: 여러 애니메이션을 동시에 실행할 수 있고 클래스나 인스턴스 객체를 통해 호출할 수 있는 Naboo의 병렬 플러그인매개변수 목록:Requiredarray
  var handle = function(event) {
      console.log(event);
  }
  btn.onclick = function () {
      naboo.on("customer", handle);
  }
Parameter Type
Descriptionlist
은 병렬화해야 하는 naboo 객체의 목록입니다
    • 사용 예:

        var handle = function(event) {
            console.log(event);
        }
        btn.onclick = function () {
            console.log('解除事件');
            naboo.off("customer", handle);
        }

    8) naboo.done(fn)

    • 설명: Naboo의 done 플러그인은 애니메이션 플러그인 이후에 콜백하는 데 사용할 수 있으며 클래스를 통해 호출할 수 있습니다. 또는 인스턴스 객체;

    • 참고: Ajax 요청

    • 매개변수 목록과 같은 일부 비동기 동작이 있을 수 있다는 점을 고려하면 애니메이션의 다음 단계로 들어가려면 이 메서드에서
    • next()

      를 호출해야 합니다. :

    입니다.
    ParameterTypeRequiredDescription
    fnfunction콜백 함수
    • 사용 예:

        btn.onclick = function () {
            naboo.trigger("customer", {
                a: 1
            });
        }

    P.S.: 샘플 코드는 dom1의 애니메이션이 실행된 후 dom2의 애니메이션이 실행됩니다

    3에서 확인됩니다. 클래스의 정적 메서드: Naboo.register(이름, fn)

    • 설명: 플러그인 등록 함수, animate가 요구 사항을 충족할 수 없거나 웹마스터가 호출을 용이하게 하기 위해 자체 플러그인을 캡슐화해야 하는 경우 이 메서드를 사용하여 메서드를 등록할 수 있습니다.

    • 참고: fn 레지스터를 구현할 때 next()를 호출해야 합니다. 다음 애니메이션을 실행하려면

    • 매개변수 목록:

    ParameterTypeRequiredDescription
    fn함수 플러그인 기능입니다. , 플러그인의 실행 논리를 정의하는 데 사용됩니다
    • 사용 예 :

        naboo.p(
            naboo.animate(dom1, {
                'transform': 'translateX(200px)'
            }, {
                duration: 2000,
                cb: function() {
                    console.log(1);
                }
            }),
      
            naboo.animate(dom2, {
                'transform': 'translateX(200px)'
            }, {
                duration: 3000,
                cb: function() {
                    console.log(2);
                }
            })
        ).start();