【发布时间】:2013-03-23 14:46:36
【问题描述】:
我有一个 javaScript 函数。
JavaScript:
function opacZero(object){
var presentOpacity = (object.style.opacity);
object.style.opacity =presentOpacity-0.2;
setTimeout( function(){opacZero(object)}, 40);
}
现在,当我将一些 eobject 传递给这个函数时,它的不透明度应该减少到 0 并超过 0(因为我没有在任何地方清除超时)。但这并没有发生。不透明度降低到 0.20000000000000007 并且不再降低。但是当我减去 0.3(或更多)而不是 0.2 时,它给出了预期的结果。但为什么不使用小于 0.2 的数字。我不知道为什么会这样。请帮忙
【问题讨论】:
-
我不认为浏览器会喜欢你想要负不透明度。应该如何实现?
-
没关系!但从逻辑上讲,它应该超过 0,当我减去 0.3 或更多时,这会完美地发生。但不是当我减去 0.2 或更少时。为什么会这样?
-
为什么它应该超过 0 ?它的 setTimeout 不是 setInterval 函数
-
这是一个小提琴:jsfiddle.net/bhTNC
-
当不透明度visibility: hidden或
display; none。您可能正在处理浮点不准确性。
标签: javascript opacity