From: Steinar H. Gunderson Date: Sun, 19 Mar 2023 12:12:08 +0000 (+0100) Subject: Fix a swiping issue. X-Git-Url: https://git.sesse.net/?p=pr0n;a=commitdiff_plain;h=c3fdefc2ca0f2703e47be494ff72a7fd25f9e8f8 Fix a swiping issue. A infobox that was too wide could be dragged in and then magically disappear; this would be since clientWidth would be 0 when we measured (because style.display was 'none' before positioning, and then fixed only immediately afterwards). --- diff --git a/files/pr0n-fullscreen.js b/files/pr0n-fullscreen.js index 7f5aed6..a2480b4 100644 --- a/files/pr0n-fullscreen.js +++ b/files/pr0n-fullscreen.js @@ -135,8 +135,8 @@ function display_image(url, backend_width, backend_height, elem_id, offset) // scroll offset completely off. img.style.display = 'none'; setTimeout(function() { + img.style.display = null; // Must be done before position_image(), for measurement. position_image(img, backend_width, backend_height, offset, false); - img.style.display = null; }, 1); } } @@ -164,8 +164,8 @@ function display_infobox(html, backend_width, backend_height, elem_id, offset) // scroll offset completely off. box.style.display = 'none'; setTimeout(function() { + box.style.display = null; // Must be done before position_image(), for measurement. position_image(box, backend_width, backend_height, offset, true); - box.style.display = null; }, 1); } } @@ -278,10 +278,8 @@ function position_image(img, backend_width, backend_height, offset, box) img.style.height = "24px"; img.style.width = null; img.style.whiteSpace = 'nowrap'; - if (offset == 0) { - // Hide the box if there's no room for all the text. - img.style.opacity = (img.clientWidth < width / dpr + 10) ? null : 0.0; - } + // Hide the box if there's no room for all the text. + img.style.opacity = (img.clientWidth < width / dpr + 10) ? null : 0.0; img.style.width = (width / dpr) + "px"; } else { img.style.top = (top / dpr) + "px";