From fc912ee942e9e577156fcedee047fee66d0eed13 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 11 Jul 2023 09:36:32 +0300 Subject: (presentation) Fixed slide scaling to work properly --- src/scripts/presentation.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/scripts/presentation.js') diff --git a/src/scripts/presentation.js b/src/scripts/presentation.js index 425815c..ba7dd66 100644 --- a/src/scripts/presentation.js +++ b/src/scripts/presentation.js @@ -79,20 +79,26 @@ presentBtn.addEventListener('click', function() { else { pageY = window.scrollY; pageX = window.scrollX; window.scrollTo(0, 0); - fixAbsoluteSlideScale(); } presenting = !presenting; + fixAbsoluteSlideScale(); }); function fixAbsoluteSlideScale() { - var scale = Math.min(window.innerHeight / slides[0].offsetHeight, window.innerWidth / slides[0].offsetWidth); + var height = (presenting) ? window.innerHeight : articleElem.offsetHeight; + var width = (presenting) ? window.innerWidth : articleElem.offsetWidth - 32; + var scale = Math.min(height / slides[0].offsetHeight, width / slides[0].offsetWidth); + // Update .slide + document.styleSheets.item(3).cssRules[0].style.transform = 'scale(' + scale + ')'; + document.styleSheets.item(3).cssRules[0].style.marginBottom = 'calc(1em - ' + slides[0].offsetHeight + 'px * ' + (1 - scale) + ')'; // Update .absolute-slide document.styleSheets.item(3).cssRules[1].style.transform = 'translate(-50%, -50%) scale(' + scale + ')'; // Update .clicked-image document.styleSheets.item(3).cssRules[2].style.transform = 'translate(-50%, -50%) scale(' + (1/scale) + ')'; } window.addEventListener('resize', fixAbsoluteSlideScale); +window.addEventListener('load', fixAbsoluteSlideScale); /* Show as article button */ -- cgit v1.3.1-23-gd82d