Javascript 每个项目上的knockout.js可观测数组推送延迟
我有一个数组,可以将项推送到接口中。现在,所有项目一次显示一个不透明度小动画。但是,我希望每个人都能一个接一个地出现,并有一点延迟。好像他们一个接一个地进来 然而,我尝试的每件事似乎都是同时出现的。我使用了Javascript 每个项目上的knockout.js可观测数组推送延迟,javascript,arrays,knockout.js,css-animations,Javascript,Arrays,Knockout.js,Css Animations,我有一个数组,可以将项推送到接口中。现在,所有项目一次显示一个不透明度小动画。但是,我希望每个人都能一个接一个地出现,并有一点延迟。好像他们一个接一个地进来 然而,我尝试的每件事似乎都是同时出现的。我使用了利率限制,但这似乎没有帮助。下面是我的阵列,我正在使用拼接。我甚至在foreach中使用了setTimeout self.plays = ko.observableArray([]); self.update = function (period) {
利率限制
,但这似乎没有帮助。下面是我的阵列,我正在使用拼接
。我甚至在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;
}
你说你试过设置超时。你试过这样吗
函数ViewModel(){
var self=这个;
self.plays=ko.observearray();
self.Periods=[{'letter':'a'},{'letter':'b'},{'letter':'c'}];
self.update=函数(){
var计数器=0;
self.Periods.forEach(函数(字母){
setTimeout(函数(){
self.plays.unshift(字母);
},柜台);
计数器+=500;
});
};
self.update();
}
应用绑定(新的ViewModel())代码>
您是否使用foreach
进行DOM操作?如果是,请阅读foreach
文档的最后一部分。这可能有用。我已经在用CSS制作动画了,效果很好。但是,我希望延迟每个项目的出现时间,因此看起来它们不是同时被推送的。需要在列表的开头推送这些项目。为此,您需要使用unshift
。我已经更新了小提琴。@MikeFlynn这有帮助吗?