我有这行JavaScript,我看到的行为是selectedLi
立即消失而没有“向上滑动”。这不是我所期望的行为。
我应该怎么做才能使selectedLi
幻灯片在被移除之前向上滑动?
selectedLi.slideUp("normal").remove();
我有这行JavaScript,我看到的行为是selectedLi
立即消失而没有“向上滑动”。这不是我所期望的行为。
我应该怎么做才能使selectedLi
幻灯片在被移除之前向上滑动?
selectedLi.slideUp("normal").remove();
可以通过将调用删除的回调 arg 放到 slideUp 中来修复它吗?
例如
selectedLi.slideUp("normal", function() { $(this).remove(); } );
你需要更明确:而不是说“这个”(我同意应该有效),你应该这样做:
$("#yourdiv").slideUp(1000, function() {
$(this).remove();
});
最简单的方法是调用 slideUp 中的“remove()”函数作为其他人所说的参数,例如:
$("#yourdiv").slideUp("normal", function() {
$(this).remove();
});
必须在匿名 function() 中调用它,以防止在 slideUp 结束之前执行 remove()。另一种等效的方法是使用 jQuery 函数“promise()”。更适合那些喜欢不言自明的代码的人,比如我 ;)
$("#yourdiv").slideUp("normal").promise().done(function() {
$(this).remove();
});
使用 Promise,您还可以等待多个动画完成,例如:
selectedLi.slideUp({duration: 5000, queue: false})
.fadeOut({duration: 3000, queue: false})
.promise().done(function() {
selectedLi.remove()
})
selectedLi.slideUp(200, this.remove);