簡體   English   中英

谷歌Chrome JavaScript淡化:style.opacity和setTimeout

[英]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);

http://jsfiddle.net/GgPqc/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM