我有一个淡化元素的JavaScript脚本。
要点就是:
function fade() {
if (cat.style.opacity > 0) {
// decrease opacity slightly
cat.style.opacity -= 0.1;
// call fade again in a fraction of a second
setTimeout( fade, 60 );
} else {
cat.style.visibility = "hidden";
}
}
(完整代码http://xahlee.info/js/js_fadeout.html,JavaScript代码:http://xahlee.info/js/js_fadeout.js)
在谷歌浏览器中,它不会完全消失。似乎循环卡住了,style.opacity永远不会达到0。
在StackOverflow上,它似乎是一年前一篇帖子中的Google Chrome错误,但从未真正确认过。
似乎很奇怪,因为这将是一个主要的错误。有人知道为什么它在Google Chrome中不起作用吗?
答案 0 :(得分:4)
这似乎是一个精确的问题。通过使用.toFixed
来获得所需的精度,您可以非常轻松地绕过它。
cat.style.opacity = (cat.style.opacity - 0.1).toFixed(2);