키 포인트
JavaScript는 이벤트 핸들러를 요소에 추가하여 CSS3 애니메이션을 관리 할 수있어 애니메이션을 순서대로 재생하는 것과 같은 애니메이션을 잘 제어 할 수 있습니다. "AnimationStart", "Animationitration"및 "AnimationEnd"의 세 가지 유형의 이벤트가 있습니다.
이 애니메이션 이벤트의 크로스 브라우저 호환성은 사용자 정의 함수를 사용하여 모든 접두사 및 반복되지 않은 이름에 대해
를 호출하여 달성 할 수 있습니다. 이를 통해 코드 줄을 사용하여 이벤트 핸들러를 할당 할 수 있습니다.
애니메이션 리스너 기능으로 전달 된 이벤트 객체는 애니메이션 시작 이후 애니메이션 이름과 경과 시간을 제공합니다. 특정 애니메이션이 종료 될 때를 감지하고 특정 순서로 다른 CSS3 애니메이션을 적용하는 것과 같은 다른 코드를 실행하는 데 사용될 수 있습니다. -
CSS3 애니메이션은 매끄럽고 구현하기 쉽지만 JavaScript와 달리 프레임 별 컨트롤이 없습니다. 다행히도 모든 요소에 이벤트 핸들러를 적용하여 애니메이션 상태를 결정할 수 있습니다. 이를 통해 순서대로 다른 애니메이션을 재생하는 것과 같은 잘 제어 할 수 있습니다. -
이 간단한 CSS3 애니메이션을 고려하십시오
addEventListener
클래스가 id 가있는 요소에 적용되면 라는 애니메이션이 세 번 실행됩니다. 각 반복은 1 초 동안 지속되며 그 동안 요소가 사라지고 사라집니다.
애니메이션이 발생하면 세 가지 유형의 이벤트가 트리거됩니다.
애니메이션이 처음 시작되면
이벤트가 발사됩니다.
#anim.enable {
-webkit-animation: flash 1s ease 3;
-moz-animation: flash 1s ease 3;
-ms-animation: flash 1s ease 3;
-o-animation: flash 1s ease 3;
animation: flash 1s ease 3;
}
/* 动画 */
@-webkit-keyframes flash {
50% { opacity: 0; }
}
@-moz-keyframes flash {
50% { opacity: 0; }
}
@-ms-keyframes flash {
50% { opacity: 0; }
}
@-o-keyframes flash {
50% { opacity: 0; }
}
@keyframes flash {
50% { opacity: 0; }
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
<<>
enable
anim
<<> 이벤트는 각각의 새로운 애니메이션 반복의 시작 부분, 즉 첫 번째 반복을 제외한 각 반복의 시작 부분에서 발사됩니다. flash
<<>
<<> 애니메이션 끝에서 이벤트가 발생합니다. animationstart
<<> 브라우저 호환성
var anim = document.getElementById("anim");
anim.addEventListener("animationstart", AnimationListener, false);
로그인 후 복사
로그인 후 복사
로그인 후 복사
작성시, Firefox, Chrome, Safari, Opera 및 IE10은 CSS3 애니메이션 및 관련 이벤트 처리기를 지원합니다. 또한 Opera, IE10 및 WebKit 브라우저는 접두사를 사용하여 일부 사례를 변경하여 멍청하게 보장합니다.
W3C 표준 Firefox WebKit Opera IE10
animationstart
<<>
animationiteration
anim.addEventListener("animationiteration", AnimationListener, false);
로그인 후 복사
로그인 후 복사
<<> animationiteration
animationend
anim.addEventListener("animationend", AnimationListener, false);
로그인 후 복사
<<>
animationend
접두사 문제를 해결하는 가장 쉬운 방법은 사용자 정의 함수를 사용하여 모든 접두사 및 반복되지 않은 이름을 호출하는 것입니다.
크로스 브라우저 이벤트 핸들러는 이제 코드 줄을 사용하여 할당 할 수 있습니다.#anim.enable {
-webkit-animation: flash 1s ease 3;
-moz-animation: flash 1s ease 3;
-ms-animation: flash 1s ease 3;
-o-animation: flash 1s ease 3;
animation: flash 1s ease 3;
}
/* 动画 */
@-webkit-keyframes flash {
50% { opacity: 0; }
}
@-moz-keyframes flash {
50% { opacity: 0; }
}
@-ms-keyframes flash {
50% { opacity: 0; }
}
@-o-keyframes flash {
50% { opacity: 0; }
}
@keyframes flash {
50% { opacity: 0; }
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
<<> 이벤트 객체
위 코드에서 애니메이션 이벤트가 발생할 때마다 <🎜 🎜> 함수가 호출됩니다. 이벤트 객체는 단일 매개 변수로 전달됩니다. 표준 속성 및 방법 외에도 다음을 제공합니다.
</p>
<🎜 🎜> <<> : CSS3 애니메이션 이름 (즉, <🎜 🎜>) <🎜 🎜>
<p> <<> : 애니메이션 시작 이후 시간 (초). <code>AnimationListener
따라서 따라서 애니메이션이 종료되는 시점을 감지 할 수 있습니다.
-
예를 들어 코드는 기존 클래스를 제거하거나 특정 순서로 다른 CSS3 애니메이션을 적용 할 수 있습니다.
animationName
view css3 애니메이션 이벤트 데모 <🎜 <🎜 flash
데모 페이지에 버튼이 표시됩니다. 클릭하면 "활성화"클래스가 전환되어 애니메이션을 시작합니다. 애니메이션 이벤트가 트리거되면 상태가 콘솔에 표시됩니다. 애니메이션이 끝나면 버튼을 다시 클릭 할 수 있도록 "활성화"클래스가 제거됩니다. -
흥미로운 프로젝트에서 애니메이션 이벤트 캡처를 사용하는 경우 알려주십시오.
elapsedTime
<<> (이 기사를 읽는 것을 좋아한다면, 학습 가능한 것을 좋아할 것입니다. 이것은 마스터로부터 새로운 기술과 기술을 배우는 곳입니다. 회원들은 "HTML5 및"HTML5 및 "HTML5 및 인터랙티브 온라인 과정에 즉시 액세스 할 수 있습니다. 현실 세계를위한 CSS3)
flash
<<> (이 기사에 대한 의견은 마감되었습니다. CSS에 대한 질문이 있습니까? 포럼에서 물어 보지 않겠습니까?)
var anim = document.getElementById("anim");
anim.addEventListener("animationstart", AnimationListener, false);
로그인 후 복사
로그인 후 복사
로그인 후 복사
CSS3 애니메이션 및 JavaScript 이벤트 핸들러에 대한 FAQ (FAQ)
CSS3 애니메이션 및 JavaScript 이벤트 처리기는 무엇입니까?
CSS3 애니메이션은 JavaScript 또는 Flash를 사용하지 않고 HTML 요소를 애니메이션 할 수있는 CSS3 (Cascading Stylesheets)의 기능입니다. 추가 리소스없이 CSS 코드에서 간단한 애니메이션을 직접 작성하는 방법을 제공합니다. 반면에 JavaScript 이벤트 핸들러는 특정 이벤트가 발생할 때 트리거되는 JavaScript 기능입니다. 이러한 이벤트는 버튼을 클릭하거나 페이지로드 또는 애니메이션 종료와 같은 모든 이벤트 일 수 있습니다. CSS3 애니메이션 및 JavaScript 이벤트 처리기를 사용하여 동적 대화 형 웹 컨텐츠를 만듭니다.
CSS3 애니메이션과 함께 JavaScript 이벤트 핸들러를 사용하는 방법은 무엇입니까?
CSS3 애니메이션과 함께 JavaScript 이벤트 핸들러를 사용하려면 애니메이션을 원하는 HTML 요소에 이벤트 리스너를 추가해야합니다. 이 이벤트 리스너는 애니메이션 끝에서 JavaScript 기능을 트리거합니다. 기본 예는 다음과 같습니다.
<,>이 코드에서 "AnimationEnd"는 우리가 듣고있는 이벤트입니다. CSS3 애니메이션이 완료되면 발사됩니다. flash
CSS3 전환이있는 JavaScript 이벤트 핸들러를 사용할 수 있습니까?
예, CSS3 애니메이션과 마찬가지로 CSS3 전환으로 JavaScript 이벤트 처리기를 사용할 수 있습니다. 당신이들을 필요가있는 이벤트는 "전환"입니다. 이 이벤트는 CSS 전환이 완료된 후에 발사됩니다. CSS3 애니메이션의 시간을 제어하기 위해 JavaScript를 사용하는 방법은 무엇입니까?
JavaScript를 사용하여 "Animation-Delay"속성을 사용하여 CSS3 애니메이션 시간을 제어 할 수 있습니다. 이 속성은 애니메이션 시작시 지연을 설정합니다. 이 속성을 다음과 같이 JavaScript로 설정할 수 있습니다.
이 코드에서는 페이지가 2 초 동안로드 된 후 애니메이션이 시작됩니다.
JavaScript를 사용하여 CSS3 애니메이션을 반복하는 방법은 무엇입니까?
"애니메이션-권리-카운트"속성을 사용하여 JavaScript를 사용하여 CSS3 애니메이션을 반복 할 수 있습니다. 이 속성은 애니메이션을 재생 해야하는 횟수를 지정합니다. 이 속성을 다음과 같이 JavaScript로 설정할 수 있습니다.
#anim.enable {
-webkit-animation: flash 1s ease 3;
-moz-animation: flash 1s ease 3;
-ms-animation: flash 1s ease 3;
-o-animation: flash 1s ease 3;
animation: flash 1s ease 3;
}
/* 动画 */
@-webkit-keyframes flash {
50% { opacity: 0; }
}
@-moz-keyframes flash {
50% { opacity: 0; }
}
@-ms-keyframes flash {
50% { opacity: 0; }
}
@-o-keyframes flash {
50% { opacity: 0; }
}
@keyframes flash {
50% { opacity: 0; }
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
이 코드에서는 애니메이션이 무기한 반복됩니다.
JavaScript를 사용하여 CSS3 애니메이션의 속도를 변경할 수 있습니까?
예, JavaScript를 사용하여 CSS3 애니메이션의 속도를 변경할 수 있습니다. "애니메이션 기간"속성은 애니메이션이 사이클을 완료하는 데 걸리는 시간을 제어합니다. 이 속성을 다음과 같이 JavaScript로 설정할 수 있습니다.
이 코드에서는 애니메이션이 2 초 동안 지속됩니다.
JavaScript를 사용하여 CSS3 애니메이션을 일시 중지하고 복원하는 방법은 무엇입니까?
"Animation-Play-State"속성을 사용하여 JavaScript를 사용하여 CSS3 애니메이션을 일시 중지하고 복원 할 수 있습니다. 이 속성은 애니메이션이 실행 중인지 또는 일시 중지되는지 여부를 설정합니다. 이 속성을 다음과 같이 JavaScript로 설정할 수 있습니다.
이 코드에서는 애니메이션이 일시 중지됩니다. var anim = document.getElementById("anim");
anim.addEventListener("animationstart", AnimationListener, false);
로그인 후 복사
로그인 후 복사
로그인 후 복사
JavaScript를 사용하여 CSS3 애니메이션의 방향을 변경할 수 있습니까?
예, JavaScript를 사용하여 CSS3 애니메이션의 방향을 변경할 수 있습니다. "애니메이션 방향"속성은 교대주기 중에 애니메이션이 반대로 재생되어야하는지 여부를 정의합니다. 이 속성을 다음과 같이 JavaScript로 설정할 수 있습니다.
이 코드에서는 애니메이션이 거꾸로 재생됩니다.
JavaScript를 사용하여 CSS3 애니메이션의 끝을 감지하는 방법은 무엇입니까?
"애니메이션"이벤트에 이벤트 리스너를 추가하여 JavaScript를 사용하여 CSS3 애니메이션의 끝을 감지 할 수 있습니다. 이 이벤트는 CSS3 애니메이션이 완료된 후에 발사됩니다. 다음은 다음과 같습니다.
JavaScript를 사용하여 CSS3 애니메이션의 애니메이션 타이밍 기능을 변경할 수 있습니까? anim.addEventListener("animationiteration", AnimationListener, false);
로그인 후 복사
로그인 후 복사
예, JavaScript를 사용하여 CSS3 애니메이션의 "애니메이션 타이밍 기능"을 변경할 수 있습니다. 이 속성은 애니메이션의 속도 곡선을 지정합니다. 이 속성을 다음과 같이 JavaScript로 설정할 수 있습니다.
이 코드에서는 애니메이션이 천천히 시작한 다음 가속됩니다.
위 내용은 JavaScript에서 CSS3 애니메이션 이벤트를 캡처하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!