불투명도가 변경된 일부 CSS 전환을 수행했습니다. javascript를 통해 새로운 클래스를 추가하거나 제거하여 시작했습니다.CSS 전환이 때때로 느려집니다.
이 같은입니다 :
.element {
opacity: 0;
z-index; -1;
display: none;
transition: opacity .2s linear;
}
.changeDisplay {
display: block;
}
.show {
z-index: 1;
opacity: 1
}
자바 스크립트를 통해 내가 클릭 한 후 클래스 변경을 발생시키는의 EventListener했다. 처음에는 .changeDisplay 클래스가 추가되고, setTimeout (delay, 4)
함수 뒤에 .show 클래스도 추가됩니다. 4ms (최소 허용 지연 값이어야 함) 지연은 애니메이션 페이드 인 (불투명도 전환)이 작동하는 데 중요합니다.
문제는 - 때로는 예상대로 작동하지 않습니다! 애니메이션이 때때로 느려지므로 애니메이션 효과가 전혀 작동하지 않습니다 (마치 디스플레이 변경을 통해 나타 났던 것처럼 보입니다).
왜 그런가요 매 매끄러운 애니메이션을 얻으려면 어떻게해야합니까? 나는 Chrome (android mobile chrome), Opera, Firefox 및 IE (Safari는 내 집에 사과 부족으로 인해 테스트되지 않음)에서이 동작을 관찰했습니다.
인간의 눈이 전환을 인식하는 데는 4ms가 매우 짧은 시간입니다. 자세한 정보는 https://stackoverflow.com/questions/7882713/can-a-human-eye-perceive-a-10-milliseconds-latency-in-image-load-time#7882769 – Dez
4ms가 너무 낮게 설정되어 있습니다. 이는 사용자가주의해서는 안되기 때문입니다. 이 낮은 지연이 없으면 불투명 전환이 작동하지 않습니다. -> https://stackoverflow.com/questions/3331353/transitions-on-the-display-property 마법과 눈에 띄는 전환이 200ms로 설정되었으며 눈에 띄는 것입니다;) (전환 특성 살펴보기) – Flo