Spec-Zone.ru › Web APIs

SVGAnimationElement: событие repeatEvent

Событие repeatEvent интерфейса SVGAnimationElement срабатывает при повторении локальной временной шкалы элемента. Оно будет срабатывать каждый раз при повторении элемента после первой итерации.

Примечание: Событию repeatEvent присвоено целое число, указывающее, какая итерация повтора начинается; это можно найти в свойстве detail объекта события. Значение является целым числом, начиная с 0, но событие повтора не поднимается для первой итерации, поэтому наблюдаемые значения будут >= 1. Это поддерживается в Firefox, но не в Chrome.

Это событие не отменяется и не распространяется.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.

addEventListener("repeatEvent", (event) => {});

onrepeat = (event) => {};

Тип события

Тип TimeEvent. Наследуется от Event.

Событие TimeEvent

Свойства события

TimeEvent.detail Только для чтения

Значение, которое определяет некоторую детальную информацию о событии в зависимости от типа события. Для этого типа события указывает номер повтора анимации.

TimeEvent.view Только для чтения

Объект WindowProxy, который идентифицирует окно, из которого было сгенерировано событие.

Примеры

Анимированный круг

<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);
});

Эквивалент свойства обработчика события

Обратите внимание, что вы также можете создать обработчик событий для события repeat с помощью свойства обработчика событий onrepeat.

animateElem.onrepeat = () => {
  console.log("repeatEvent fired");
};

Спецификации

Спецификация
Scalable Vector Graphics (SVG) 2
# RepeatEvent

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
repeatEvent_event 35
31–35Свойство обработчика событий onrepeat не поддерживается.
79 93
6–93Свойство обработчика событий onrepeat не поддерживается.
22
18–22Свойство обработчика событий onrepeat не поддерживается.
10Свойство обработчика событий onrepeat не поддерживается.
35
31–35Свойство обработчика событий onrepeat не поддерживается.
93
6–93Свойство обработчика событий onrepeat не поддерживается.
22
18–22Свойство обработчика событий onrepeat не поддерживается.
10Свойство обработчика событий onrepeat не поддерживается.
3.0
2.0–3.0Свойство обработчика событий onrepeat не поддерживается.
37
4.4.3–37Свойство обработчика событий onrepeat не поддерживается.

См. также

  • SVG анимация с SMIL
  • beginEvent событие
  • endEvent событие

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement/repeatEvent_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API