From 7292425c40e44105b47ab01b539e7b47da50bc64 Mon Sep 17 00:00:00 2001 From: Brian Shen Date: Thu, 19 May 2016 13:03:40 -0700 Subject: [PATCH 1/3] When using disableBodyScroll, set stored scrollTo value to the initial scrolled position, as well as upon subsequent calls to init --- jquery.scrollbar.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jquery.scrollbar.js b/jquery.scrollbar.js index 5e13f6f..8fe0ca9 100644 --- a/jquery.scrollbar.js +++ b/jquery.scrollbar.js @@ -277,6 +277,10 @@ scrollx.scroll.addClass('scroll-element_arrows_visible'); } + scrollx._setScrollToValue = function(val) { + scrollToValue = val; + }; + scrollx.mousewheel = function (event) { if (!scrollx.isVisible || (d === 'x' && isVerticalScroll(event))) { @@ -399,6 +403,7 @@ }, event); }); } + scrollx._setScrollToValue(initScroll[scrollOffset]); }); // remove classes & reset applied styles From d454f2f19e6ebb6ce6fd64dde0f6ae91aa537530 Mon Sep 17 00:00:00 2001 From: Brian Shen Date: Mon, 23 May 2016 17:58:21 -0700 Subject: [PATCH 2/3] set initial scroll position by trigger a mouseenter event on the scrollbar --- jquery.scrollbar.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/jquery.scrollbar.js b/jquery.scrollbar.js index 8fe0ca9..9d2e9bd 100644 --- a/jquery.scrollbar.js +++ b/jquery.scrollbar.js @@ -277,10 +277,6 @@ scrollx.scroll.addClass('scroll-element_arrows_visible'); } - scrollx._setScrollToValue = function(val) { - scrollToValue = val; - }; - scrollx.mousewheel = function (event) { if (!scrollx.isVisible || (d === 'x' && isVerticalScroll(event))) { @@ -403,7 +399,7 @@ }, event); }); } - scrollx._setScrollToValue(initScroll[scrollOffset]); + setTimeout(scrollx.scroll.trigger.bind(scrollx.scroll, 'mouseenter'), 0); }); // remove classes & reset applied styles From 42ac78848fed9fd5b033815a146244c23e8c31a6 Mon Sep 17 00:00:00 2001 From: Brian Shen Date: Tue, 31 May 2016 13:53:39 -0700 Subject: [PATCH 3/3] trigger mouseenter on scrollbars when the mouseenter event happens on the scrollable container to handle changes in stored scrollValue to support disableBodyScroll --- jquery.scrollbar.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jquery.scrollbar.js b/jquery.scrollbar.js index 9d2e9bd..d7f653f 100644 --- a/jquery.scrollbar.js +++ b/jquery.scrollbar.js @@ -213,7 +213,11 @@ }; w.on('MozMousePixelScroll' + namespace, handleMouseScroll); w.on('mousewheel' + namespace, handleMouseScroll); - + c.on('mouseenter' + namespace, function(){ + s.x.scroll.trigger('mouseenter'); + s.y.scroll.trigger('mouseenter'); + }); + if (browser.mobile) { w.on('touchstart' + namespace, function (event) { var touch = event.originalEvent.touches && event.originalEvent.touches[0] || event;