| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| ::view-transition-new(*) { |
| animation: unset; |
| opacity: 1; |
| } |
| ::view-transition-old(*) { |
| animation-duration: 30s; |
| opacity: 0; |
| } |
| |
| div { |
| width: 50vw; |
| height: 50vh; |
| background-color: limegreen; |
| border: 1px solid black; |
| } |
| |
| .hidden { |
| display: none; |
| } |
| |
| </style> |
| <script> |
| function newState() { |
| document.querySelector('.hidden').classList.remove('hidden'); |
| } |
| |
| function startTransition() { |
| window.transition = document.startViewTransition(newState); |
| } |
| |
| const params = new URLSearchParams(window.location.search); |
| if (params.has('ref')) { |
| addEventListener('load', newState); |
| } |
| </script> |
| </head> |
| <body> |
| <div class="hidden"> |
| </div> |
| </body> |
| </html> |