Документ: метод 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());
}
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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