JQuery, $(this) 在 fadeIn、fadeOut 回调函数中不正确?

标签 jquery

我想在页面上淡出()一个图像,并在动画完成后将其从 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/

相关文章:

javascript - 使用 javascript 或 jquery 替换完全加载页面中的每个颜色实例

javascript - 如何使用 javascript 将值从变量传递到 .html()

javascript - JQuery 无法在鼠标悬停/悬停时更改图像 SRC

javascript - History.js 和重新加载 Javascript

javascript - 如何根据 DOM 元素的内容在 jQuery 中获取对 DOM 元素的引用?

jQuery 鼠标悬停不适用于内联 CSS

javascript - 窗口加载和窗口就绪之间的区别

javascript - 拖放和提交文件以上传

javascript - jQuery slideToggle 添加空格

javascript - CKEditor 按钮上没有空间