Ember js动画插入

时间:2012-08-16 10:45:05

标签: ember.js

我先解释一下我想要实现的目标,然后再尝试一下。 我想显示10个条目,并制作动画,因此它不仅仅会“显示”为批量,而是一个接一个地呈现一个条目。即出现第一个条目,然后在100毫秒后出现第二个条目,依此类推。

我厌倦了,给每个入口对象提供css规则:“display:hidden”,然后覆盖Entry视图的didInsertElement,并使用jquery来淡化元素。 但这没有用,它只是延迟了所有条目的渲染。

以下是代码的一部分:

var inserted = 0;

EntryView = Ember.View.extend({
   classNames : [ 'hide' ], // hide is display:none
   didInsertElement : function(){
       this._super();
       this.$().fadeIn( inserted * 100 );
       inserted++;
   }
})

所以这里发生的是添加到DOM的每个条目都在淡入(传递给fadeIn的值增加,使它看起来像是一个接一个地添加)

但正如我所说,它不起作用.. 想法? 谢谢!

1 个答案:

答案 0 :(得分:3)

可以在willInsertElement处理程序中完成作业。

更新

好吧,我已经使用didInsertElement(正如您所做的那样)更新了小提琴,但最初添加了语句this.$().hide()。我认为它不理想,但似乎有效

http://jsfiddle.net/Sly7/bHL66/

更新(之二)

我认为问题中提出的方法是好的,经过一些思考,我想知道为什么这不起作用......事实上,确实如此!你确定你的CSS定义正确吗?

http://jsfiddle.net/Sly7/mKvER/