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)
我正在调用 fadeIn(200)
和 fadeOut(200)
以在页面上显示和隐藏加载图像,同时页面上的任何 ajax 脚本 运行。
但是我发现,当脚本花费少于 200 毫秒的时间到达 运行 时,元素会被部分不透明度(例如 0.88)卡住,大概是因为 fadeIn()
在淡入淡出的那个点。在此之后,所有未来的淡入淡出都将停止在该不透明度,它再也不会达到 1
的完全不透明度。
会不会跟动画队列有关?也许有一种方法可以强制动画完成,或者如果它被打断会以某种方式重置不透明度?
一个很好的解决这个问题的方法是使用fadeTo()
而不是fadeIn()
和fadeOut()
。此功能允许您设置特定的目标不透明度,这似乎消除了半褪色卡住的问题。
我的具体解决方案是:
将fadeIn(200)
替换为fadeTo(200,1)
将fadeOut(200)
替换为fadeTo(200,0)