script.aculo.usのEffect(effects.js)を使って、イベント発生タイミングから少しずらしてエフェクトを開始したくて、こないだこんなふうに書いていました。
// 500ms後に実行 setTimeout(function(){ new Effect.Appear($('elm'));}, 500);
別にこれでも思った動きをしますが、Effectでオプションとして開始タイミングを指定出来ることを今知りました。。
new Effect.Appear($('elm'), {delay: 0.5});
オプションにdelayで秒を指定すると、エフェクトの開始を遅らすことができます。
無駄なタイマ生成する必要がなくなるので、こっちがいいですね。
ちなみに、Effectを複数生成したからといって、タイマが複数生成されることはありません。
ちゃんと、一つのタイマ(setInterval)で複数のエフェクトを実行するような仕組みになってます。