【发布时间】:2011-08-23 21:03:50
【问题描述】:
我正在尝试放弃基于 setTimeout 的 JavaScript,转而使用 CSS 过渡来实现一秒钟的高亮显示。我不想立即更改背景颜色甚至在两种背景颜色之间褪色,而是先立即切换到黄色,然后再褪色到正确的颜色。
我想它应该工作的方式是我将类设置为具有黄色背景的东西,然后将其更改为具有过渡属性和新颜色的类。这只是褪色到最终颜色,而不是从黄色开始。我不认为我可以将过渡附加到元素而不考虑类,否则两个类更改将重叠并同时运行它们的动画。
显然,我需要以不同的方式来构建事物来实现这一点。当附加到添加和删除的类时,我一定没有掌握实际何时发生转换的基本知识。
<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>
【问题讨论】:
标签: css transition highlight