我有一些通知,分类在某些组中。当我点击“X”清除移动操作系统(样式)中该组中的所有通知时,我想要。以相反的顺序延迟1秒。
到目前为止,我已经这样做了:
$(document).ready(function () {
$("#activity a.close-btn").click(function () {
$.fn.reverse = [].reverse;
var title = $(this).parent();
var notifications = $(this).parent().next('ul');
notifications.find('li').reverse().each(function (i, value) {
if (i != 0) {
setTimeout(function () {
$(value).hide('slide', {
direction: 'right'
}, 1000);
}, 1000);
} else {
$(value).hide('slide', {
direction: 'right'
}, 1000);
}
});
});
});
它删除了该组的第一个元素,然后(一秒钟后)删除其余元素。
答案 0 :(得分:2)
问题是超时,你正在调用延迟1秒的所有元素
$(document).ready(function () {
$("#activity a.close-btn").click(function () {
$.fn.reverse = [].reverse;
var title = $(this).parent();
var notifications = $(this).parent().next('ul');
notifications.find('li').reverse().each(function (i, value) {
if (i != 0) {
setTimeout(function () {
$(value).hide('slide', {
direction: 'right'
}, 1000);
}, (i + 1) * 1000);
} else {
$(value).hide('slide', {
direction: 'right'
}, 1000);
}
});
});
});