jQuery fadeIn() 没有达到完全不透明

jQuery fadeIn() doesn't reach full opacity

我正在调用 fadeIn(200)fadeOut(200) 以在页面上显示和隐藏加载图像,同时页面上的任何 ajax 脚本 运行。

但是我发现,当脚本花费少于 200 毫秒的时间到达 运行 时,元素会被部分不透明度(例如 0.88)卡住,大概是因为 fadeIn() 在淡入淡出的那个点。在此之后,所有未来的淡入淡出都将停止在该不透明度,它再也不会达到 1 的完全不透明度。

会不会跟动画队列有关?也许有一种方法可以强制动画完成,或者如果它被打断会以某种方式重置不透明度?

一个很好的解决这个问题的方法是使用fadeTo()而不是fadeIn()fadeOut()。此功能允许您设置特定的目标不透明度,这似乎消除了半褪色卡住的问题。

我的具体解决方案是:

fadeIn(200)替换为fadeTo(200,1)

fadeOut(200)替换为fadeTo(200,0)