Есть ли какая-нибудь функция dojo.fx.sleep для использования в анимации dojo.fx.chain? - PullRequest
1 голос
/ 27 января 2009

Я бы хотел fadeIn узел в течение одной секунды. Затем оставьте его включенным на 10 секунд. Затем fadeOut еще 3 секунды. Один из способов связать это будет следующим:

dojo.fx.chain([
   dojo.fadeIn({node:myNode, duration:1000}), // fading in for 1 second
   dojo.fadeIn({node:myNode, duration:10000}), // this does nothing for 10 seconds
   dojo.fadeOut({node:myNode, duration:3000}) // fade out for 3 seconds
]).play();

В предыдущем коде средний шаг - очень глупый способ ничего не достичь. Есть ли какая-то анимация dojo.fx.sleep, которая ничего не делает в течение определенного промежутка времени?

Ответы [ 2 ]

1 голос
/ 31 января 2009

Я не пользователь Dojo, но общая идиома из JQuery и Prototype - это свойство задержки, которое также присутствует в Dojo:

dojo.addOnLoad(function() { 
  var animationArguments = {
    node: “testHeading”,
    duration: 1000,       // ms to run animation
    delay: 250            // ms to stall before playing
  };

  dojo.fadeOut(animationArguments).play();
});
1 голос
/ 27 января 2009

Позитива нет на данный момент; Единственный способ добиться такого эффекта - разделить ваш код на разделы перед сном и после сна, что вы здесь и сделали. Единственное, что я бы порекомендовал, - это чтобы Додзё делал как можно меньше в течение 10 миллисекунд; как у вас сейчас, вызывается метод fadeIn () и, возможно, незначительный факт, что он выполняет хотя бы один условный оператор (чтобы проверить, нужно ли ему изменять свойство непрозрачности ), это определенно немного медленнее, чем просто сценарий ничего не делает.

...