我正在嘗試拋棄基於setTimeout的JavaScript來支持一秒鐘高光的CSS過渡。我不想立即改變背景顏色,或者甚至在兩種背景顏色之間淡化,我想先切換爲黃色,然後淡入正確的顏色。無法設置CSS3過渡以允許一秒高光
我認爲它應該工作的方式是將類設置爲具有黃色背景的類,然後將其更改爲具有過渡屬性和新顏色的類。這只是淡化到最終的顏色,而不是從黃色開始。我不認爲我可以將這個轉換附加到元素上,而不管這個類是什麼,或者這兩個類的變化會重疊並且同時運行它們的動畫。
很明顯,我需要以不同的方式來構建事物來實現這一點。當附加到添加和刪除的類時,我不能掌握實際發生轉換時的基本知識。
<style>
.highlight { background-color: yellow; }
.selected { background-color: black; -moz-transition: background-color 2s linear; }
</style>
<div id="samp" onclick="flash();">SAMPLE</div>
<script>
function flash() {
document.getElementById("samp").className = "highlight";
document.getElementById("samp").className = "selected";
}
</script>
不起作用。像我的例子一樣直接從白色變成藍色。另外,沒有理由setTimeout應該是必要的。 – Lucent 2011-05-12 14:01:22
如果您嘗試在'.highlight'而不是'.selected'上定義轉換? – 2011-05-13 10:36:10