2013-08-16 5 views
0

Я пытаюсь объединить анимацию и функцию вместе, так что, когда пользователь нажимает кнопку, анимация воспроизводится и, когда она закончена, выполняет функцию.dojo: Выполнение функции после завершения анимации

В частности, то, что я пытаюсь сделать, это позволить пользователю подключить меню к месту или отложить его, чтобы он плавал на странице с ними. Я контролирую, прикреплено ли меню или отключено, переключая класс «приколотый», когда они нажимают кнопку. Я хочу, чтобы анимация играла, чтобы сделать переход плавным (например, меню затухает или сдвигается к новой позиции), а затем переключает класс.

К сожалению, класс переключается перед завершением анимации, заставляя меню прыгать, когда он переключается между ними.

Есть ли способ задержать класс переключения, пока анимация не будет выполнена?

ответ

1

У анимации есть событие End, которое вы можете прослушать.

http://dojotoolkit.org/reference-guide/1.9/dojo/fx/chain.html http://dojotoolkit.org/documentation/tutorials/1.7/animation/

require(["dojo/fx", "dojo/on"], function(coreFx, on){ 
    var animA = ... 
    var animB = ... 

    var chain = coreFx.chain([animA, animB]); 

    on(chain, "End", function(){ 
    // set the css 
    }); 

    chain.play(); 
}); 
+0

Спасибо, именно то, что я искал :) – Emma