diff --git a/app/assets/javascripts/darkswarm/directives/body_scroll.js.coffee b/app/assets/javascripts/darkswarm/directives/body_scroll.js.coffee index 183d828d03..dce6d4c5e5 100644 --- a/app/assets/javascripts/darkswarm/directives/body_scroll.js.coffee +++ b/app/assets/javascripts/darkswarm/directives/body_scroll.js.coffee @@ -3,7 +3,15 @@ Darkswarm.directive "bodyScroll", ($rootScope, BodyScroll) -> scope: true link: (scope, elem, attrs) -> $rootScope.$on "toggleBodyScroll", -> - if BodyScroll.disabled - elem.addClass "disable-scroll" + if BodyScroll.disabled && document.body.scrollHeight > document.body.clientHeight + document.body.style.top = "-#{window.scrollY}px" + document.body.style.position = 'fixed' + document.body.style.overflowY = 'scroll' + document.body.style.width = '100%' else - elem.removeClass "disable-scroll" + scrollY = parseInt(document.body.style.top) * -1 + document.body.style.position = '' + document.body.style.top = '' + document.body.style.overflowY = '' + document.body.style.width = '' + window.scrollTo(0, scrollY) if scrollY diff --git a/app/assets/stylesheets/darkswarm/ui.scss b/app/assets/stylesheets/darkswarm/ui.scss index c13c51f024..b2177013cc 100644 --- a/app/assets/stylesheets/darkswarm/ui.scss +++ b/app/assets/stylesheets/darkswarm/ui.scss @@ -165,7 +165,3 @@ a.button.large { .flex { display: flex; } - -.disable-scroll { - overflow: hidden; -}