我使用骨干视图渲染列表。渲染视图后,我想循环遍历列表元素,然后一次向一个li添加一个类(每次从前一个中删除它)。
到目前为止,我的代码看起来像这样:
onRender: function() {
$('ul > li').each(function(i, element) {
$(element).delay(i * 50000).toggleClass('fly-in-out')
})
}
然而,当视图加载时,所有li都有fly-in-out类。
任何帮助非常感谢
答案 0 :(得分:2)
使用延迟,您需要将代码放入队列:
onRender: function () {
$('ul > li').each(function (i, element) {
$(element).delay(i * 50000).queue(function (next) {
$(this).toggleClass('fly-in-out');
next();
});
})
}
或使用超时:
onRender: function () {
$('ul > li').each(function (i, element) {
setTimeout(function () {
$(element).toggleClass('fly-in-out');
}, i * 50000);
})
}
答案 1 :(得分:0)
您的$(element).delay
仅指一个元素,而不是所有元素。这是通过并一次一个地将类应用于每个元素而不访问任何其他元素