aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2014-11-11 05:56:03 +0000
committerStephen Blott2014-11-11 05:56:03 +0000
commitd19b7dff273674efbde9a3d5f6992bd4aaab41b0 (patch)
tree0937a5f9b28e51cfee306d56e5e5a378fe85b743
parentf577098a9b72d8bde386ee9e558a512dd46442af (diff)
downloadvimium-d19b7dff273674efbde9a3d5f6992bd4aaab41b0.tar.bz2
Smooth scroll; revert entry logic.
-rw-r--r--content_scripts/scroller.coffee13
1 files changed, 11 insertions, 2 deletions
diff --git a/content_scripts/scroller.coffee b/content_scripts/scroller.coffee
index 2e0d08ad..1becc523 100644
--- a/content_scripts/scroller.coffee
+++ b/content_scripts/scroller.coffee
@@ -126,14 +126,23 @@ Scroller =
# :factor is needed because :amount can take on string values, which scrollBy converts to element dimensions.
scrollBy: (direction, amount, factor = 1) ->
# if this is called before domReady, just use the window scroll function
- return unless document.body
+ if (!document.body and amount instanceof Number)
+ if (direction == "x")
+ window.scrollBy(amount, 0)
+ else
+ window.scrollBy(0, amount)
+ return
+
+ activatedElement ||= document.body
+ return unless activatedElement
element = findScrollableElement activatedElement, direction, amount, factor
elementAmount = factor * getDimension element, direction, amount
doScrollBy element, direction, elementAmount, true
scrollTo: (direction, pos, wantSmooth = false) ->
- return unless document.body
+ return unless document.body or activatedElement
+ activatedElement ||= document.body
element = findScrollableElement activatedElement, direction, pos
amount = getDimension(element,direction,pos) - element[scrollProperties[direction].axisName]