[英]Google Chrome JavaScript Fade: style.opacity and setTimeout
我有一個淡化元素的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錯誤,但從未真正證實過。
看起來很奇怪,因為這將是一個主要的錯誤。 有人知道為什么它在谷歌瀏覽器中不起作用?
這似乎是一個精確的問題。 您可以使用.toFixed
以獲得所需的精度,輕松地繞過它。
cat.style.opacity = (cat.style.opacity - 0.1).toFixed(2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.