我先解释一下我想要实现的目标,然后再尝试一下。 我想显示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的值增加,使它看起来像是一个接一个地添加)
但正如我所说,它不起作用.. 想法? 谢谢!
答案 0 :(得分:3)
可以在中完成作业。 willInsertElement
处理程序
更新
好吧,我已经使用didInsertElement(正如您所做的那样)更新了小提琴,但最初添加了语句this.$().hide()
。我认为它不理想,但似乎有效
http://jsfiddle.net/Sly7/bHL66/
更新(之二)
我认为问题中提出的方法是好的,经过一些思考,我想知道为什么这不起作用......事实上,确实如此!你确定你的CSS定义正确吗?