我有这行JavaScript,并且我看到的行为是selectedLi
即时消失而没有“向上滑动”。这不是我所期望的行为。
我应该怎么做才能使selectedLi
幻灯片在移走之前向上滑动?
selectedLi.slideUp("normal").remove();
我有这行JavaScript,并且我看到的行为是selectedLi
即时消失而没有“向上滑动”。这不是我所期望的行为。
我应该怎么做才能使selectedLi
幻灯片在移走之前向上滑动?
selectedLi.slideUp("normal").remove();
Answers:
您需要更加明确:与其说“ this”(我同意应该起作用),不如说:
$("#yourdiv").slideUp(1000, function() {
$(this).remove();
});
$("#yourdiv")
代替$(this)
完全是多余的,这不是为什么此代码解决了OP的问题。此代码解决了问题,因为它使用了complete
回调。
最简单的方法是像其他人所说的那样,在slideUp内部调用“ remove()”函数作为一个参数,例如:
$("#yourdiv").slideUp("normal", function() {
$(this).remove();
});
必须在匿名function()中调用它,以防止在slideUp结束之前执行remove()。另一种平等的方法是使用jQuery函数“ promise()”。对于像我这样喜欢自解释代码的人来说更好;)
$("#yourdiv").slideUp("normal").promise().done(function() {
$(this).remove();
});
selectedLi.slideUp(200, this.remove);