代码之家  ›  专栏  ›  技术社区  ›  pierdeux

Dojo.fx.chain动画中是否有要使用的dojo.fx.sleep函数?

  •  1
  • pierdeux  · 技术社区  · 17 年前

    我想 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 回复  |  直到 17 年前
        1
  •  1
  •   Damien Wilson    17 年前

    我不是Dojo用户,但jQuery和Prototype中常见的习惯用法是delay属性,它似乎也存在于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();
    });
    
        2
  •  1
  •   Hexagon Theory    17 年前

    积极的是,目前还没有时间;实现这种效果的唯一方法是将代码分为睡眠前和睡眠后部分,这在这里已经做了很多工作。我唯一推荐的就是让Dojo在10毫秒的时间内尽可能少地做一些事情;正如你现在看到的那样, FADENIN() 方法正在被调用,尽管可能可以忽略,但实际上它正在运行至少一个条件语句(以检查是否需要修改不透明度属性),它肯定比让脚本什么都不做要慢一些。

    推荐文章