jQuery,尝试在x秒后删除隐藏的div?

Tws*_*Elf 4 jquery hide settimeout

嘿那里,我试图有一个div"隐藏",然后一旦隐藏动画完成"删除".似乎我可以得到工作,但不是两者兼而有之.我尝试过使用setTimeout,但这只会导致div被隐藏,但实际上并没有删除.

这是代码:

$(this).parents("div:eq(0)").hide("fast");
setTimeout(function () { $(this).parents("div:eq(0)").remove();}, 1000);
Run Code Online (Sandbox Code Playgroud)

如果我在没有setTimeout的情况下执行删除,则会删除div,但不会显示隐藏动画.

任何帮助赞赏!

zom*_*bat 6

我认为这是一个范围问题.当您的setTimeout()函数运行时,函数this内部的上下文与声明它时的上下文不同.

试试这个:

var self = $(this).parents("div:eq(0)");
self.hide("fast");
setTimeout(function () { self.remove();}, 1000);
Run Code Online (Sandbox Code Playgroud)