From cd49d3dc7fc7e4b2afcc3bc34f52527552a0f829 Mon Sep 17 00:00:00 2001 From: bhomie Date: Wed, 27 May 2020 18:04:48 -0700 Subject: [PATCH 1/4] Scroll Longform text --- public/js/script.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/public/js/script.js b/public/js/script.js index 620867a49..18513bf4b 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -371,6 +371,16 @@ function updateCaretPosition() { left: newLeft }, duration) + let middlePos = (document.documentElement.clientHeight / 2); + + if (newTop >= middlePos) { + window.scrollTo({ + left: 0, + top: newTop - middlePos, + behavior: 'smooth' + }) + } + } function countChars() { From dbf706ca470591295bf955d5f05c86c30911740c Mon Sep 17 00:00:00 2001 From: bhomie Date: Wed, 27 May 2020 18:37:56 -0700 Subject: [PATCH 2/4] Add var, and checks so it doesn't run unless it needs to --- public/js/script.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/public/js/script.js b/public/js/script.js index 18513bf4b..64e2372f9 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -16,6 +16,7 @@ let afkDetected = false; let errorsPerSecond = []; let currentErrorCount = 0; let resultVisible = false; +let browserHeight = document.documentElement.clientHeight; let accuracyStats = { correct: 0, @@ -371,14 +372,15 @@ function updateCaretPosition() { left: newLeft }, duration) - let middlePos = (document.documentElement.clientHeight / 2); + let middlePos = (browserHeight / 2) - $("#caret").outerHeight()/2; - if (newTop >= middlePos) { + if (newTop >= middlePos && window.innerHeight > browserHeight) { window.scrollTo({ left: 0, top: newTop - middlePos, behavior: 'smooth' }) + console.log("run") } } From 658a1010147dff9771937bbfc09513f3fa52a226 Mon Sep 17 00:00:00 2001 From: bhomie Date: Wed, 27 May 2020 18:41:55 -0700 Subject: [PATCH 3/4] remove debug stuff --- public/js/script.js | 1 - 1 file changed, 1 deletion(-) diff --git a/public/js/script.js b/public/js/script.js index 64e2372f9..603b58ff4 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -380,7 +380,6 @@ function updateCaretPosition() { top: newTop - middlePos, behavior: 'smooth' }) - console.log("run") } } From fe1b729d16d1c9bad8313d68680c73468a4dcbee Mon Sep 17 00:00:00 2001 From: bhomie Date: Thu, 28 May 2020 15:32:52 -0700 Subject: [PATCH 4/4] fix --- public/js/script.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/js/script.js b/public/js/script.js index 603b58ff4..169a90b46 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -16,7 +16,6 @@ let afkDetected = false; let errorsPerSecond = []; let currentErrorCount = 0; let resultVisible = false; -let browserHeight = document.documentElement.clientHeight; let accuracyStats = { correct: 0, @@ -372,9 +371,11 @@ function updateCaretPosition() { left: newLeft }, duration) + let browserHeight = window.innerHeight; let middlePos = (browserHeight / 2) - $("#caret").outerHeight()/2; + let contentHeight = document.body.scrollHeight; - if (newTop >= middlePos && window.innerHeight > browserHeight) { + if (newTop >= middlePos && contentHeight > browserHeight) { window.scrollTo({ left: 0, top: newTop - middlePos,