Spec-Zone.ru › Web APIs

Документ: метод startViewTransition()

Ограниченная доступность

Эта функция не является базовой, так как она не работает во всех распространённых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод startViewTransition() интерфейса Document запускает новую переходную анимацию (SPA) для текущего документа и возвращает объект ViewTransition для её представления.

При вызове startViewTransition(), выполняется последовательность шагов, описанная в Процессе перехода.

Синтаксис

startViewTransition()
startViewTransition(updateCallback)

Параметры

updateCallback Необязательно

Необязательная функция обратного вызова, которая обычно вызывается для обновления DOM во время процесса перехода SPA, возвращая Promise. Функция обратного вызова вызывается после того, как API сделает моментальный снимок текущей страницы. Когда обещание, возвращённое функцией обратного вызова, выполняется, переход начинается в следующем кадре. Если возвращённое обещание отклоняется, переход отменяется.

Возвращаемое значение

Объект ViewTransition.

Примеры

Базовое использование

В нашем Демонстрационном примере основных переходов SPA функция updateView() обрабатывает как браузеры, поддерживающие, так и не поддерживающие API переходов. В поддерживающих браузерах вызываем startViewTransition() для запуска процесса перехода, не беспокоясь о возвращаемом значении.

function updateView(event) {
  // Handle the difference in whether the event is fired on the <a> or the <img>
  let targetIdentifier;
  if (event.target.firstChild === null) {
    targetIdentifier = event.target;
  } else {
    targetIdentifier = event.target.firstChild;
  }

  const displayNewImage = () => {
    const mainSrc = `${targetIdentifier.src.split("_th.jpg")[0]}.jpg`;
    galleryImg.src = mainSrc;
    galleryCaption.textContent = targetIdentifier.alt;
  };

  // Fallback for browsers that don't support View Transitions:
  if (!document.startViewTransition) {
    displayNewImage();
    return;
  }

  // With View Transitions:
  const transition = document.startViewTransition(() => displayNewImage());
}

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

Спецификация
CSS View Transitions Module Level 1
# dom-document-startviewtransition

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
startViewTransition 111 111 Нет 97 18 111 Нет 75 18 22.0 111

См. также

  • Гладкие переходы с помощью API переходов

© 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/Document/startViewTransition

Spec-Zone.ru

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