在mootools中使用延迟来淡化效果的方法

时间:2010-02-18 04:56:51

标签: javascript mootools delay timedelay

我想在moo工具1.2中使用方法链接。

我的要求如下。

页面加载完成时。

我的一个div元素说“my_div”设置为隐藏的可见性。

半秒后,其不透明度设为0.4 然后在半秒后再次将其不透明度设置为0.7 然后在半秒后再次将其不透明度设置为1。

那么我怎么能用moo工具1.2链接呢。

还有一个。

我可以在调用延迟方法时传递参数。例如

function demo(arg1, arg2)
{
  // Demo code will be here
}

那么我怎么能用延迟一秒钟来调用这个函数呢?并传递这两个参数呢?

3 个答案:

答案 0 :(得分:2)

当你可以做这样的事情时,不确定为什么你需要这些差距(尝试并看看它是否更好):

(function() {
    $("foo").set("tween", {duration: 1500}).setOpacity(0).fade(1);
}).delay(500);

但是如果您需要根据您的规范在没有补间的情况下执行此操作,请执行以下操作:

(function() {
    $("foo").setOpacity(.4).setStyle("visibility", "visible");
}).delay(500);

(function() {
    $("foo").setOpacity(.7);
}).delay(1000);

(function(message) {
    $("foo").setOpacity(1).set("html", message);
}).delay(1500, this, "hello");

无需链接,因为无论如何都要在预设时间运行更改,它们不需要彼此等待。但是如所建议的那样,链接类很适合动画,http://mootools.net/docs/more/Class/Chain.Wait

对于params,.delay支持:(ms,bind [this etc],arguments)(按照上一个循环示例更改div的html)

答案 1 :(得分:0)

这个怎么样?

setTimeout
(
    demo    // function to call
    , 500   // change this according to your needs
    , p1    // this goes to arg1
    , p2    // this goes to arg2
);

P.S。我不知道IE和Safari,但它适用于Firefox,Chrome和Opera。

答案 2 :(得分:0)

看看Chain.Wait extra:http://mootools.net/docs/more/Class/Chain.Wait

您需要转到http://mootools.net/more以获取包含等待扩展程序的自定义MooTools构建。