我想在页面上淡出()一个图像,并在动画完成后将其从 DOM 中删除。听起来很简单吗?
示例代码(图像的 ID 为“img1”):
$("#img1").fadeOut("slow", function() { $(this).remove() });
这不起作用。当我用 Firebug 检查页面时,图像仍然存在。它只是被隐藏了。
第二个示例应该闪烁图像:
$("#img1").fadeOut("slow", function() { $(this).fadeIn() });
奇怪。
感谢您提供的示例页面,它们运行良好且符合预期。
问题一定是其他原因,并且只发生在我的项目环境中。
旁注:当我在回调函数中执行简单的 console.log($(this)) 时,结果是窗口对象本身?!
当我发现是什么副作用导致问题时,我会更新这个问题。
最佳答案
这两个示例都按我的预期工作,如 here 所示(对不好的形象表示歉意,这是我发现的第一件事!)。 Image 1 淡出,然后从 DOM 中删除,Image2 淡出,然后返回到 Image1 最初放置的位置。
我的理解正确吗?
附注您可以编辑示例 here
关于JQuery, $(this) 在 fadeIn、fadeOut 回调函数中不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/504102/