Spec-Zone.ru › Web APIs

Элемент: событие transitioncancel

Базовая Широко доступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить обратную связь

Событие transitioncancel срабатывает при отмене CSS-перехода.

Синтаксис

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

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

ontransitioncancel = (event) => {};

Тип события

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

Событие TransitionEvent

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

Также наследует свойства от своего родительского класса Event.

TransitionEvent.propertyName Только для чтения

Строка, содержащая имя CSS-свойства, связанного с переходом.

TransitionEvent.elapsedTime Только для чтения

Значение, float, представляющее время выполнения перехода в секундах в момент срабатывания события. Это значение не зависит от свойства transition-delay.

TransitionEvent.pseudoElement Только для чтения

Строка, начинающаяся с ::, содержащая имя псевдоэлемента, на котором выполняется анимация. Если переход выполняется не на псевдоэлементе, а на самом элементе, то значение — пустая строка: ''.

Примеры

Этот код получает элемент, для которого определён переход, и добавляет слушатель события transitioncancel:

const transition = document.querySelector(".transition");

transition.addEventListener("transitioncancel", () => {
  console.log("Transition canceled");
});

То же самое, но с использованием свойства ontransitioncancel вместо addEventListener():

const transition = document.querySelector(".transition");

transition.ontransitioncancel = () => {
  console.log("Transition canceled");
};

Живой пример

В следующем примере у нас есть простой элемент <div>, стилизованный с переходом, включающим задержку:

<div class="transition"></div>
<div class="message"></div>
.transition {
  width: 100px;
  height: 100px;
  background: rgb(255 0 0 / 100%);
  transition-property: transform, background;
  transition-duration: 2s;
  transition-delay: 2s;
}

.transition:hover {
  transform: rotate(90deg);
  background: rgb(255 0 0 / 0%);
}

К нему мы добавим JavaScript, чтобы указать, что срабатывают события transitionstart, transitionrun, transitioncancel, и transitionend. В этом примере для отмены перехода нужно прекратить наведение курсора на изменяемый элемент до завершения перехода. Для того, чтобы событие завершения перехода сработало, необходимо сохранять наведение на элемент до его окончания.

const message = document.querySelector(".message");
const el = document.querySelector(".transition");

el.addEventListener("transitionrun", () => {
  message.textContent = "transitionrun fired";
});

el.addEventListener("transitionstart", () => {
  message.textContent = "transitionstart fired";
});

el.addEventListener("transitioncancel", () => {
  message.textContent = "transitioncancel fired";
});

el.addEventListener("transitionend", () => {
  message.textContent = "transitionend fired";
});

Событие transitioncancel срабатывает, если переход отменяется в любом направлении после срабатывания события transitionrun и перед срабатыванием transitionend.

Если нет задержки или длительности перехода, если оба значения равны 0 или ни одно из них не объявлено, перехода нет, и ни одно из событий перехода не срабатывает.

Если срабатывает событие transitioncancel , событие transitionend не будет срабатывать.

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

Спецификация
CSS Переходы
# transitioncancel
CSS Переходы
# dom-globaleventhandlers-ontransitioncancel

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
transitioncancel_event 87
74–87Свойство обработчика события ontransitioncancel не поддерживается. Для прослушивания этого события используйте element.addEventListener('transitioncancel', function() {});.
87
79–87Свойство обработчика события ontransitioncancel не поддерживается. Для прослушивания этого события используйте element.addEventListener('transitioncancel', function() {});.
53 73
62–73Свойство обработчика события ontransitioncancel не поддерживается. Для прослушивания этого события используйте element.addEventListener('transitioncancel', function() {});.
13.1
12–13.1Хотя свойство обработчика события ontransitioncancel поддерживается, событие transitioncancel никогда не срабатывает.
87
74–87Свойство обработчика события ontransitioncancel не поддерживается. Для прослушивания этого события используйте element.addEventListener('transitioncancel', function() {});.
53 62
53–62Свойство обработчика события ontransitioncancel не поддерживается. Для прослушивания этого события используйте element.addEventListener('transitioncancel', function() {});.
13.4
12–13.4Хотя свойство обработчика события ontransitioncancel поддерживается, событие transitioncancel никогда не срабатывает.
14.0
11.0–14.0Свойство обработчика события ontransitioncancel не поддерживается. Для прослушивания этого события используйте element.addEventListener('transitioncancel', function() {});.
87
74–87Свойство обработчика события ontransitioncancel не поддерживается. Для прослушивания этого события используйте element.addEventListener('transitioncancel', function() {});.

См. также

  • Интерфейс TransitionEvent
  • CSS свойства: transition, transition-delay, transition-duration, transition-property, transition-timing-function
  • Связанные события: transitionrun, transitionstart, transitionend

© 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/Element/transitioncancel_event

Spec-Zone.ru

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