欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

讓JavaScript函數(shù)一直等到過渡結(jié)束,比僅僅將' setTimeout()'設(shè)置為與transition-duration相同更好的方法是什么?

黃文隆2年前8瀏覽0評論

我用JavaScript來設(shè)計一個& ltspan & gt標(biāo)簽(在CSS中已經(jīng)設(shè)置為青色)在被點擊時變成綠色,然后又變回青色。在CSS中,它的transition-duration屬性被設(shè)置為100ms。我不希望Javascript在完成綠色轉(zhuǎn)換之前將顏色重新設(shè)置為青色,所以很自然地,我使用setTimeout()來延遲轉(zhuǎn)換所需的時間(100毫秒),正如您在下面的代碼中看到的,在查看了與此相關(guān)的其他問題后,我對它進(jìn)行了一些改進(jìn),但它們似乎仍然不是最有效的。

代碼:

// Script is here and not in src in order to make it easier for you to copy and test run.
document.getElementById("text").addEventListener("click", function() {
    document.getElementById("text").style.color = "Green";
    setTimeout(function() {document.getElementById("text").style.color = "Cyan";}, 100); // Timeout time same as transition-duration.
});

#info-display{
    user-select: none;
    text-align: center;
    font: small-caps bold 5vw 'Courier New', Courier, monospace;
}
#text {
    color: Cyan;
    background-color: Black;
    padding: 0.1vw 1vw 0.1vw;
    border-radius: 25% 25% 15% 15%;
    transition-duration: 100ms;
}

<h1 id="info-display"><span id="text">~ Words to Click. ~</span></h1>

是的,有。看看下面的EventListener:

elem.addEventListener('transitionend', function(){
    //Do something
});