Я пытаюсь отбросить JavaScript на основе setTimeout в пользу 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>