【发布时间】:2018-12-22 10:21:41
【问题描述】:
我有一个将项目推入界面的数组。现在,所有项目都以不透明的小动画同时显示。但是,我希望每个都一个一个地出现,并有一点延迟。好像他们是一个接一个地进来一样。
但是,我尝试的所有内容似乎仍然同时出现。我使用了rate limit,但这似乎没有帮助。下面是我的数组,我正在使用splice。我什至在 foreach 中使用了setTimeout。
self.plays = ko.observableArray([]);
self.update = function (period) {
period.Plays.forEach(function (p, index) {
self.plays.splice(0, 0, p);
});
};
CSS
.play-by-plays .play.flash,
.line-scores .line-period.flash {
transition: color 1s ease;
}
.play-by-plays .play,
.line-scores .line-period {
transition: color 1s ease;
}
【问题讨论】:
-
您是否使用
foreach进行DOM 操作?如果是,请阅读foreach文档的最后一部分。它可能有用。 knockoutjs.com/documentation/foreach-binding.html -
嗯,我已经在用 CSS 做动画了,效果很好。但是,我想要延迟每个项目的出现时间,所以看起来它们不是同时被推送的。
标签: javascript arrays knockout.js css-animations