0
我有一個集合,其中包含表示應用程序導航項目的模型。在我的應用程序中,導航位於屏幕的左側,我希望能夠在渲染時逐個滑動導航項目。導航容器是一個集合視圖,導航項是它的項目視圖。將呈現爲Marionette集合視圖的項目動畫化爲
在集合視圖中,我已將appendHtml方法更改爲如下所示。
appendHtml: function (collectionView, itemView, index) {
console.log('APPENDING ITEM VIEW', itemView.el);
itemView.assignNewlyCreated();
collectionView.$el.append(itemView.el);
itemView.slideIn();
},
的項目查看有這些相關的方法:
// Label the dom element as newly created
assignNewlyCreated: function() {
this.$el.addClass('newly-created');
},
// Slide in the item.
slideIn: function() {
console.log('sliding in element', this.el);
this.$el.animate({left: 0});
}
由於新創建類有推項目關閉屏幕左側的風格,我在想,如果我追加它是這樣的,然後一旦它在DOM中滑動它,它應該工作。不幸的是,這不起作用,導航項目已經出現在屏幕上,沒有動畫。我在這裏做錯了什麼,有沒有人知道爲什麼這似乎不工作?我在想我的應用程序的另一部分可能存在錯誤,但是如果是這種情況,並且如果這是固定的,上面的代碼應該工作嗎?
但最初當呈現集合視圖時,它不會附加到dom,所以他不會看到過渡效果。只有當稍後在集合上觸發添加事件(即將集合視圖附加到dom後)時,可以看到這個轉變 – deven98602 2013-05-06 09:32:11