我想在移除div时放置动画效果。
onclick="$(this).parent().hide(1000).remove(1000);
hide正在那里工作,但没有删除html。
onclick="$(this).parent().hide(1000).remove();
现在删除工作但隐藏不工作。之后我也放了延迟方法。
$(this).parent().hide(1000).delay(1000).remove();
它应该可以工作,但实际上不知道它为什么不起作用。
任何人都可以帮助我,我不想使用回调函数。我只想完全删除div及其html。
答案 0 :(得分:3)
delay
功能仅适用于动画。请改为使用setTimeout()
:
onclick="$this = $(this); setTimeout(function () {$this.parent().hide().remove();}, 1000);"
答案 1 :(得分:2)
.hide
有一个“完整”参数,可以完全满足您的要求:
$(this).parent().hide(1000, function() { $(this).remove() });
hide
动画完成后,它(父母)将被删除。
如果由于某种未知原因,你认为这是一个“回调”并且不想这样做,那么你将不得不使用setTimeout,但这很糟糕:
$(this).parent().hide(1000);
setTimeout(function() { $(this).parent().remove(); }, 1000);
和“setTimeout”使用“回调”参数(取决于您对回调的定义)。