1 초 강조 표시를 위해 CSS 전환을 위해 setTimeout 기반 JavaScript를 제거하려고합니다. 배경색을 즉시 변경하거나 두 배경색간에 페이드를 변경하는 대신, 먼저 노란색으로 즉시 전환 한 다음 적절한 색으로 희미하게하고 싶습니다.1 초 강조 표시를 허용하도록 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
'.selected' 대신'.highlight'에 트랜지션을 정의하려고한다면? –