diff options
| author | Stephen Blott | 2014-11-11 05:56:03 +0000 |
|---|---|---|
| committer | Stephen Blott | 2014-11-11 05:56:03 +0000 |
| commit | d19b7dff273674efbde9a3d5f6992bd4aaab41b0 (patch) | |
| tree | 0937a5f9b28e51cfee306d56e5e5a378fe85b743 | |
| parent | f577098a9b72d8bde386ee9e558a512dd46442af (diff) | |
| download | vimium-d19b7dff273674efbde9a3d5f6992bd4aaab41b0.tar.bz2 | |
Smooth scroll; revert entry logic.
| -rw-r--r-- | content_scripts/scroller.coffee | 13 |
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] |
