문제

나는 구문과 방법을 배우기 위해 Dojo와 몇 가지 기본 연습을하고 있습니다.

아이템 그룹에서 연쇄 애니메이션을 학습하기 위해 아래 단순화 된 예제를 만들었습니다.

누구든지 내가 만든 도조 코드에 대한 피드백을 제공 할 수 있습니까? 이 상황에서 올바른 라이브러리 기능을 사용하고 있습니까? 이 사용 사례에 가장 적합한 솔루션이라고 생각하십니까?

참고로, jQuery에서 나는 이것을 다음과 같이 달성 할 것이다.

$(function() {
    // jQuery
    $('div').fadeOut().fadeIn();
})

DOJO 솔루션의 경우, 다른 DOJO 구성 요소의 존재에 의존하는 4 가지 솔루션을 제시했습니다.

// dojo
dojo.require("dojo.fx");
dojo.require("dojo.NodeList-fx");

dojo.addOnLoad(function() { 

    // Option 1: Using dojo.js only
    dojo.forEach(dojo.query('div'), function(div) {
        dojo.fadeOut({
            node: div,
            'onEnd': function() {
                dojo.fadeIn({
                    node: div
                }).play();
            }
        }).play()
    });    

    // Option 2: Using dojo.js and dojo.fx
    dojo.forEach(dojo.query('div'), function(div) {
        dojo.fx.chain([dojo.fadeOut({node: div}), dojo.fadeIn({node: div})]).play();
    });

    // Option 3: Using dojo.js, dojo.fx and dojo.NodeList-fx
    var divs = dojo.query("div");
    divs.fadeOut({
        'onEnd': function() {
            divs.fadeIn().play();
        }
    }).play()

    // Option 4: Using base, dojo.fx and dojo.NodeList-fx
    var divs = dojo.query('div');
    dojo.fx.chain([divs.fadeOut(), divs.fadeIn()]).play();

});
도움이 되었습니까?

해결책

내 제안은 다음과 같습니다.

  1. 벤치마킹하고 가장 잘 작동하는 것을 확인하십시오.
  2. 가장 편한 느낌을 사용하십시오.
  3. IMO 옵션 4가 가장 좋은 것입니다.
  4. Freenode의 #dojo 채널로 이동하십시오. 당신이 가진 질문에 당신을 도울 수있는 훌륭한 사람들이 있습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top