take care for excessive scroll speeds in safari 5.0
This commit is contained in:
parent
c372ec5c9a
commit
ca4f8fb9b0
1 changed files with 15 additions and 3 deletions
|
|
@ -168,14 +168,26 @@ else {
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.addMouseWheelListener = function(el, callback) {
|
exports.addMouseWheelListener = function(el, callback) {
|
||||||
|
var max = 0;
|
||||||
var listener = function(e) {
|
var listener = function(e) {
|
||||||
if (e.wheelDelta !== undefined) {
|
if (e.wheelDelta !== undefined) {
|
||||||
|
|
||||||
|
// some versions of Safari (e.g. 5.0.5) report insanely high
|
||||||
|
// scroll values. These browsers require a higher factor
|
||||||
|
if (e.wheelDeltaY > max)
|
||||||
|
max = e.wheelDeltaY
|
||||||
|
|
||||||
|
if (max > 1000)
|
||||||
|
factor = 400;
|
||||||
|
else
|
||||||
|
factor = 8;
|
||||||
|
|
||||||
if (e.wheelDeltaX !== undefined) {
|
if (e.wheelDeltaX !== undefined) {
|
||||||
e.wheelX = -e.wheelDeltaX / 8;
|
e.wheelX = -e.wheelDeltaX / factor;
|
||||||
e.wheelY = -e.wheelDeltaY / 8;
|
e.wheelY = -e.wheelDeltaY / factor;
|
||||||
} else {
|
} else {
|
||||||
e.wheelX = 0;
|
e.wheelX = 0;
|
||||||
e.wheelY = -e.wheelDelta / 8;
|
e.wheelY = -e.wheelDelta / factor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue