Jquery延迟,隐藏,删除都不起作用

时间:2015-10-15 10:15:10

标签: javascript jquery

我想在移除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。

2 个答案:

答案 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”使用“回调”参数(取决于您对回调的定义)。