在每个对象初始化上添加时间
add time on each object initialization
我正在使用以下代码初始化 jQuery 通知插件。我使用 setTimeout 函数来延迟每个对象的初始化。
if(applicablePromotions.length > 0){
applicablePromotions.forEach(function(promo){
setTimeout(function(){
$.amaran({
content:{
title:'Your Download is Ready!',
message:'1.4 GB',
info:'my_birthday.mp4',
icon:'fa fa-download'
},
theme:'awesome ok',
position:'top left',
inEffect:'slideRight',
outEffect:'slideLeft'
});
},1000)
})
}
问题是所有对象都在延迟时间段后显示。每个对象没有时间差异。如何实现每个对象的时差。
你的代码中的问题是数组中的所有元素都使用了 1000 ms
的恒定延迟,因为你想一个一个地显示,你可以使用像
这样的动态延迟
if (applicablePromotions.length > 0) {
applicablePromotions.forEach(function (promo, i) {
setTimeout(function () {
$.amaran({
content: {
title: 'Your Download is Ready!',
message: '1.4 GB',
info: 'my_birthday.mp4',
icon: 'fa fa-download'
},
theme: 'awesome ok',
position: 'top left',
inEffect: 'slideRight',
outEffect: 'slideLeft'
});
//use a dynamic delay
}, (i + 1) * 1000)
})
}
我正在使用以下代码初始化 jQuery 通知插件。我使用 setTimeout 函数来延迟每个对象的初始化。
if(applicablePromotions.length > 0){
applicablePromotions.forEach(function(promo){
setTimeout(function(){
$.amaran({
content:{
title:'Your Download is Ready!',
message:'1.4 GB',
info:'my_birthday.mp4',
icon:'fa fa-download'
},
theme:'awesome ok',
position:'top left',
inEffect:'slideRight',
outEffect:'slideLeft'
});
},1000)
})
}
问题是所有对象都在延迟时间段后显示。每个对象没有时间差异。如何实现每个对象的时差。
你的代码中的问题是数组中的所有元素都使用了 1000 ms
的恒定延迟,因为你想一个一个地显示,你可以使用像
if (applicablePromotions.length > 0) {
applicablePromotions.forEach(function (promo, i) {
setTimeout(function () {
$.amaran({
content: {
title: 'Your Download is Ready!',
message: '1.4 GB',
info: 'my_birthday.mp4',
icon: 'fa fa-download'
},
theme: 'awesome ok',
position: 'top left',
inEffect: 'slideRight',
outEffect: 'slideLeft'
});
//use a dynamic delay
}, (i + 1) * 1000)
})
}