aboutsummaryrefslogtreecommitdiff
path: root/public/javascripts/scrollSnap.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/javascripts/scrollSnap.js')
-rw-r--r--public/javascripts/scrollSnap.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/public/javascripts/scrollSnap.js b/public/javascripts/scrollSnap.js
index 4f71f28..ed7bbb3 100644
--- a/public/javascripts/scrollSnap.js
+++ b/public/javascripts/scrollSnap.js
@@ -10,8 +10,14 @@ self._nodes = {
self._timeoutID = null
+self._getScrollPosition = function () {
+ return (document.documentElement && document.documentElement.scrollTop) ||
+ document.body.scrollTop
+}
+
self._handleDoneScrolling = function () {
- const scrollPosition = document.body.scrollTop
+ console.log('done scrolling')
+ const scrollPosition = self._getScrollPosition()
const weekSelectorHeight = self._nodes.weekSelector.clientHeight - self._nodes.search.clientHeight
if (scrollPosition < weekSelectorHeight && scrollPosition > 0) {
window.scroll({ top: weekSelectorHeight, left: 0, behavior: 'smooth' })
@@ -22,8 +28,9 @@ self._handleScroll = function () {
if (self._timeoutID != null) window.clearTimeout(self._timeoutID)
self._timeoutID = window.setTimeout(self._handleDoneScrolling, 500)
- const scrollPosition = document.body.scrollTop
+ const scrollPosition = self._getScrollPosition()
const weekSelectorHeight = self._nodes.weekSelector.clientHeight - self._nodes.search.clientHeight
+ console.log(scrollPosition, weekSelectorHeight)
if (scrollPosition >= weekSelectorHeight) {
document.body.classList.add('week-selector-not-visible')
} else {
@@ -35,7 +42,7 @@ self._handleWindowResize = function () {
const weekSelectorHeight = self._nodes.weekSelector.clientHeight - self._nodes.search.clientHeight
const extraPixelsNeeded = weekSelectorHeight - (document.body.clientHeight - window.innerHeight)
if (extraPixelsNeeded > 0) {
- document.body.style.marginBottom = `${extraPixelsNeeded}px`
+ document.body.style.marginBottom = extraPixelsNeeded + 'px'
} else {
document.body.style.marginBottom = null
}