如何在使用jQuery使其淡出后延迟隐藏元素?

时间:2011-08-10 09:31:45

标签: jquery animation toggle hide delay

$("div#whitebox p").click(function () {
    $("div#blackout").fadeTo(550, 0).delay(555).hide();
});

我想用上面的代码完成的是让一个名为blackout的div淡出然后当我点击另一个名为whitebox的div中的段落标记时切换掉。我之所以需要使用hide命令将其关闭是因为如果我不这样做,那么blackout div虽然已经淡出,仍会覆盖其他链接并使它们无法点击。然而,使用我正在使用的代码,会发生什么是淡入淡出动画不起作用,而黑屏div只是立即切换,甚至没有任何延迟。如何改进此代码以使淡出动画与hide()切换命令一起工作?

3 个答案:

答案 0 :(得分:1)

由于你的不透明度是0,你完全消失了。

或许考虑:.fadeToggle将模拟您尝试实施的功能。

答案 1 :(得分:1)

Fadeout本身有一个回调函数:

$("div#whitebox p").click(function () {
    $("div#blackout").fadeOut(550, function() {
        $(this).hide();
    });
});

答案 2 :(得分:1)

您可以使用fadeOut功能。此函数将设置div display:none(因此您无需调用显式隐藏函数。)

用法:

$("div#whitebox p").click(function () {
    $("div#blackout").fadeOut(550);
});