+7
-2
src/views/media.pug
+7
-2
src/views/media.pug
···
3
3
html
4
4
+head("home")
5
5
script(type='text/javascript').
6
-
function toggleZoom() {
6
+
function toggleZoom(event) {
7
+
const percentX = event.offsetX / event.target.width;
8
+
const percentY = event.offsetY / event.target.height;
7
9
Array.from(document.getElementsByClassName('media-maximized')).forEach(element => element.classList.toggle('zoom'));
10
+
const moveClientX = (event.target.width * percentX) + event.target.offsetLeft - (event.view.visualViewport.width / 2)
11
+
const moveClientY = (event.target.height * percentY) + event.target.offsetTop - (event.view.visualViewport.height / 2);
12
+
event.target.parentElement.scrollTo(moveClientX, moveClientY);
8
13
}
9
14
10
15
body.media-maximized
11
16
div.media-maximized.container
12
17
if kind == 'img'
13
-
img(src=url onclick=`toggleZoom()`).media-maximized
18
+
img(src=url onclick=`toggleZoom(event)`).media-maximized
14
19
else
15
20
video(src=url controls).media-maximized