diff --git a/script/run.ts b/script/run.ts index 6450e21..9026213 100644 --- a/script/run.ts +++ b/script/run.ts @@ -261,8 +261,19 @@ namespace Flat { export function fadeTo(newPane: Pane): void { for (const pane of allPanes) { const here = pane == newPane; - document.getElementById(pane)!.dataset.selected = `${here}`; - if (here) { history.replaceState(null, '🦎', `#${pane}`); } + const elem = document.getElementById(pane)!; + if (here) { + elem.style.display = 'unset'; + setTimeout(() => { + elem.dataset.selected = 'true'; + history.replaceState(null, '🦎', `#${pane}`); + }); + } else if (elem.dataset.selected == 'true') { + elem.addEventListener('transitionend', + () => elem.style.display = 'none', + {once: true}); + elem.dataset.selected = 'false'; + } } } @@ -294,6 +305,10 @@ function setup(): void { Cube.instantMoveTo(pane); Flat.fadeTo(pane); box.checked = true; + } else { + const elem = document.getElementById(pane)!; + elem.dataset.selected = 'false'; + elem.style.display = 'none'; } } }