diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/schedule/+page.svelte | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/routes/schedule/+page.svelte b/src/routes/schedule/+page.svelte index b86221b2..9868e308 100644 --- a/src/routes/schedule/+page.svelte +++ b/src/routes/schedule/+page.svelte @@ -13,15 +13,25 @@ let hoveredItem: SubsPleaseEpisode | null = null; let imageStyle = ''; + let imageHeight = 0; const onMouseMove = (event: MouseEvent) => { const imageWidth = 300; const offset = 10; + let imageLeft = 0; + let imageTop = 0; + const image = document.getElementsByClassName('hover-image')[0] as HTMLImageElement; - imageStyle = + image.onload = () => (imageHeight = image.height); + imageLeft = event.pageX + imageWidth + offset > window.innerWidth - ? `top: ${event.pageY + offset}px; left: ${event.pageX - imageWidth - offset}px;` - : `top: ${event.pageY + offset}px; left: ${event.pageX + offset}px;`; + ? event.pageX - imageWidth - offset + : event.pageX + offset; + imageTop = + event.pageY + imageHeight + offset > window.innerHeight + ? event.pageY - imageHeight + : event.pageY + offset; + imageStyle = `top: ${imageTop}px; left: ${imageLeft}px;`; }; </script> |