diff options
| author | Julie Lala <jules@okfoc.us> | 2014-10-14 12:27:48 -0400 |
|---|---|---|
| committer | Julie Lala <jules@okfoc.us> | 2014-10-14 12:27:48 -0400 |
| commit | 39bd4b9dca66403783e5b0fab48e3cdbf4882269 (patch) | |
| tree | 53aebeb0f45fa252164bdca347c130c8e66aa202 /public/assets/javascripts/rectangles/util/wheel.js | |
| parent | 3cb1983858c1314661592fa78c814eed44acb1b7 (diff) | |
wheel tests; scroll up-down to move forward/back
Diffstat (limited to 'public/assets/javascripts/rectangles/util/wheel.js')
| -rw-r--r-- | public/assets/javascripts/rectangles/util/wheel.js | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/public/assets/javascripts/rectangles/util/wheel.js b/public/assets/javascripts/rectangles/util/wheel.js index 6836772..64aaa64 100644 --- a/public/assets/javascripts/rectangles/util/wheel.js +++ b/public/assets/javascripts/rectangles/util/wheel.js @@ -21,37 +21,40 @@ function wheel (opt) { val: 0, }) - opt.el.addEventListener('mousewheel', onMouseWheel, false); + opt.el.addEventListener('wheel', onMouseWheel, false); +// opt.el.addEventListener('mousewheel', onMouseWheel, false); opt.el.addEventListener('DOMMouseScroll', onMouseWheel, false); function onMouseWheel (e) { if (opt.locked) { return } + if (! opt.propagate) { e.stopPropagation() e.preventDefault() } - var delta = 0; + var deltaX = 0, deltaY = 0; // WebKit if ( event.wheelDeltaY ) { - delta -= event.wheelDeltaY * opt.ratio + deltaY -= event.wheelDeltaY * opt.ratio + deltaX -= event.wheelDeltaX * opt.ratio } // Opera / Explorer 9 else if ( event.wheelDelta ) { - delta -= event.wheelDelta * opt.ratio + deltaY -= event.wheelDelta * opt.ratio } // Firefox else if ( event.detail ) { - delta += event.detail * 2 + deltaY += event.detail * 2 } - if (! opt.reversible && delta < 0) return; + if (! opt.reversible && (deltaY < 0 && deltaX < 0)) return; - opt.val = clamp(opt.val + delta, opt.min, opt.max) + // opt.val = clamp(opt.val + delta, opt.min, opt.max) - opt.update(e, opt.val, delta) + opt.update(e, deltaY, deltaX) } opt.lock = function(){ opt.locked = true } |
