есть ли какая-нибудь функция dojo.fx.sleep для использования в анимации dojo.fx.chain?

StackOverflow https://stackoverflow.com/questions/482260

Вопрос

Я хотел бы 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 анимация, которая ничего не делает в течение определенного периода времени?

Это было полезно?

Решение

Я не являюсь пользователем 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();
});

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top