From 779f19c5b35f7c8c7690dac9fbf4606f49cfffde Mon Sep 17 00:00:00 2001 From: David Gay Date: Wed, 9 Jun 2021 21:49:46 -0400 Subject: Only scroll chat and results output to the bottom on new content when already scrolled to the bottom or near the bottom --- app/views/game/finish_activity.js.erb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'app/views/game') diff --git a/app/views/game/finish_activity.js.erb b/app/views/game/finish_activity.js.erb index f37c142..fa3d228 100644 --- a/app/views/game/finish_activity.js.erb +++ b/app/views/game/finish_activity.js.erb @@ -5,9 +5,13 @@ var outputHTML = "<%= j render(partial: "application/results", locals: { results if (resultOutputDiv) { resultOutputDiv.innerHTML += outputHTML; - resultOutputDiv.scrollTo({ - top: resultOutputDiv.scrollHeight, left: 0, behavior: 'smooth' - }); + + // If scrolled to the bottom or near the bottom, then smooth scroll to the bottom. + if ((resultOutputDiv.scrollTop + 100) >= (resultOutputDiv.scrollHeight - resultOutputDiv.offsetHeight)) { + resultOutputDiv.scrollTo({ + top: resultOutputDiv.scrollHeight, left: 0, behavior: 'smooth' + }); + } } if (resultControlsDiv) { -- cgit v1.2.3