Limited availability
Experimental: ããã¯å®é¨çãªæ©è½ã§ãã
æ¬çªã§ä½¿ç¨ããåã«ãã©ã¦ã¶ã¼äºææ§ä¸è¦§è¡¨ããã§ãã¯ãã¦ãã ããã
ready
㯠ViewTransition
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®èªã¿åãå°ç¨ããããã£ã§ãæ¬ä¼¼è¦ç´ ããªã¼ã使ããããã¥ã¼é·ç§»ã®ã¢ãã¡ã¼ã·ã§ã³ãå§ã¾ãã¨ãã«å±¥è¡ããã Promise
ã§ãã
ready
ã¯ãã©ã³ã¸ã·ã§ã³ãå§ããããªãå ´åã«æå¦ããã¾ããããã¯ãä¾ãã° view-transition-name
ãéè¤ãã¦ããããDocument.startViewTransition()
ã«æ¸¡ãããã³ã¼ã«ããã¯ãæå¦ããããããã¹ãçºçããããè¿ããããããªã©ãè¨å®ãã¹ãåå ã§ããå¯è½æ§ãããã¾ãã
ãããã¹ã§ãã
便¬¡ã®ä¾ã§ã¯ã ViewTransition.ready
ãããã¹ã使ç¨ãã¦ãã¯ãªãã¯æã®ã¦ã¼ã¶ã¼ã«ã¼ã½ã«ã®ä½ç½®ããçºçããç¬èªã®å形表示ãã¥ã¼é·ç§»ãçºçããã ã¦ã§ãã¢ãã¡ã¼ã·ã§ã³ API ã«ãã£ã¦ã¢ãã¡ã¼ã·ã§ã³ãæå®ããã¦ãã¾ãã
// æå¾ã®ã¯ãªãã¯ã¤ãã³ããä¿å
let lastClick;
addEventListener("click", (event) => (lastClick = event));
function spaNavigate(data) {
// ãã® API ã«å¯¾å¿ãã¦ããªããã©ã¦ã¶ã¼ã®ããã®ãã©ã¼ã«ããã¯
if (!document.startViewTransition) {
updateTheDOMSomehow(data);
return;
}
// ã¯ãªãã¯ä½ç½®ãåå¾ããããç»é¢ã®ä¸å¤®ã¸ãã©ã¼ã«ããã¯ãã
const x = lastClick?.clientX ?? innerWidth / 2;
const y = lastClick?.clientY ?? innerHeight / 2;
// æãé ãã³ã¼ãã¼ã¾ã§ã®è·é¢ãåå¾
const endRadius = Math.hypot(
Math.max(x, innerWidth - x),
Math.max(y, innerHeight - y),
);
// ãã©ã³ã¸ã·ã§ã³ã使
const transition = document.startViewTransition(() => {
updateTheDOMSomehow(data);
});
// æ¬ä¼¼è¦ç´ ã使ãããã®ãå¾
ã¤
transition.ready.then(() => {
// ã«ã¼ãã®æ°ãããã¥ã¼ãã¢ãã¡ã¼ã·ã§ã³
document.documentElement.animate(
{
clipPath: [
`circle(0 at ${x}px ${y}px)`,
`circle(${endRadius}px at ${x}px ${y}px)`,
],
},
{
duration: 500,
easing: "ease-in",
// ã¢ãã¡ã¼ã·ã§ã³ãããæ¬ä¼¼è¦ç´ ãæå®
pseudoElement: "::view-transition-new(root)",
},
);
});
}
ãã®ã¢ãã¡ã¼ã·ã§ã³ã«ã¯ä»¥ä¸ã® CSS ãå¿ è¦ã§ããæ¢å®ã®ã¢ãã¡ã¼ã·ã§ã³ããªãã«ããå¤ããã¥ã¼ã¨æ°ãããã¥ã¼ã®ç¶æ ãæ··ããåããªãããã«ãã¾ãï¼æ°ããç¶æ ã¯ãã¥ã¼é·ç§»ã®é·ç§»ã§ã¯ãªããå¤ãç¶æ ã®ããä¸ã«ãã¯ã¤ããããã¾ãï¼ã
::view-transition-image-pair(root) {
isolation: auto;
}
::view-transition-old(root),
::view-transition-new(root) {
animation: none;
mix-blend-mode: normal;
display: block;
}
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4