SVGAnimationElement: beginEvent Ereignis
Das beginEvent
Ereignis der SVGAnimationElement
-Schnittstelle wird ausgelöst, wenn die lokale Zeitleiste des Elements zu spielen beginnt. Es wird jedes Mal ausgelöst, wenn das Element die aktive Dauer beginnt (d.h. wenn es neu startet, aber nicht, wenn es sich wiederholt).
Es kann sowohl im Verlauf eines normalen (d.h. geplanten oder interaktiven) Abspielens der Zeitleiste als auch im Fall ausgelöst werden, dass das Element mit einer DOM-Methode gestartet wurde.
Dieses Ereignis ist nicht abbrechbar und wird nicht weitergeleitet.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("beginEvent", (event) => {});
onbegin = (event) => {};
Ereignistyp
Ereigniseigenschaften
TimeEvent.detail
Schreibgeschützt-
Ein
long
, der einige Detailinformationen über das Ereignis angibt, abhängig vom Typ des Ereignisses. Für diesen Ereignistyp gibt er die Wiederholungsnummer der Animation an. TimeEvent.view
Schreibgeschützt-
Ein WindowProxy, der das Fenster identifiziert, aus dem das Ereignis generiert wurde.
Beispiele
Animierter Kreis
<svg xmlns="http://www.w3.org/2000/svg" width="300px" height="100px">
<title>SVG SMIL Animate with Path</title>
<circle cx="0" cy="50" r="50" fill="blue" stroke="black" stroke-width="1">
<animateMotion path="M 0 0 H 300 Z" dur="5s" repeatCount="indefinite" />
</circle>
</svg>
<hr />
<ul></ul>
ul {
height: 100px;
border: 1px solid #ddd;
overflow-y: scroll;
padding: 10px 30px;
}
let svgElem = document.querySelector("svg");
let animateElem = document.querySelector("animateMotion");
let list = document.querySelector("ul");
animateElem.addEventListener("beginEvent", () => {
let listItem = document.createElement("li");
listItem.textContent = "beginEvent fired";
list.appendChild(listItem);
});
animateElem.addEventListener("repeatEvent", (e) => {
let listItem = document.createElement("li");
let msg = "repeatEvent fired";
if (e.detail) {
msg += `; repeat number: ${e.detail}`;
}
listItem.textContent = msg;
list.appendChild(listItem);
});
Äquivalent zur Ereignishandler-Eigenschaft
Beachten Sie, dass Sie auch einen Ereignislistener für das begin
Ereignis mit der onbegin
Ereignishandler-Eigenschaft erstellen können:
animateElem.onbegin = () => {
console.log("beginEvent fired");
};
Spezifikationen
Specification |
---|
Scalable Vector Graphics (SVG) 2 # BeginEvent |
Browser-Kompatibilität
Siehe auch
- SVG-Animation mit SMIL
endEvent
EreignisrepeatEvent
Ereignis