1

我将先解释我想要实现的目标,然后再解释我尝试了什么。我想显示 10 个条目,并制作一个动画,所以它不会只是“出现”为一个整体,而是一个接一个地呈现一个条目。即出现第一个条目,然后在 100 毫秒后出现第二个条目,依此类推。

我累的是给每个入口对象的css规则:“显示:隐藏”,然后覆盖入口视图的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 的每个条目都在淡入(传递给 fad​​eIn 的值增加,使其看起来像是一个接一个地添加)

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

4

1 回答 1

3

这项工作可以在willInsertElement处理程序中完成。

更新

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

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

更新(二)

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

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

于 2012-08-16T12:10:06.153 回答