您好我有以下JQuery代码将删除容器中的最后一个元素。问题是我的移除是动画的,例如这个方法将连续调用10次,然后只删除2或3个元素,因为下一个墙将捕获已经被移除的对象,但是当前淡出。
var last = self.options.FollowsContainer.children().last();
self.usersInFollowsList--;
if (last != null) {
last.fadeOut(function () {
$(this).remove();
});
}
我尝试了以下内容,但它无效
var last = self.options.FollowsContainer.find(":not(.removing):last");
self.usersInFollowsList--;
if (last != null) {
last.addClass("removing");
last.fadeOut(function () {
$(this).remove();
});
}
答案 0 :(得分:1)
这是我的解决方案,经过修改后很容易适应jsfiddle:http://jsfiddle.net/Lb9qA/
var numBeingRemoved = 0;
$("#remove").on("click", function () {
numBeingRemoved++;
$("#foos").children(":nth-last-child(" + numBeingRemoved + ")").fadeOut(function () {
this.remove();
numBeingRemoved--;
});
});
答案 1 :(得分:1)
使用jQuery选择器:animated
self.options.FollowsContainer.children(":not(:animated):last").fadeOut(function () {
this.remove();
});
它得到了最后一个没有动画的孩子并淡出它