decrease mouse handlers count and every-time class checking during mousemove
This commit is contained in:
parent
3821413589
commit
05b20f45ef
@ -250,32 +250,30 @@
|
|||||||
var currentLeft;
|
var currentLeft;
|
||||||
var currentPageX;
|
var currentPageX;
|
||||||
|
|
||||||
var inScrolling = false;
|
var mouseMoveHandler = function (e) {
|
||||||
|
updateScrollLeft(currentLeft, e.pageX - currentPageX);
|
||||||
|
updateGeometry();
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
};
|
||||||
|
|
||||||
|
var mouseUpHandler = function (e) {
|
||||||
|
$scrollbarXRail.removeClass('in-scrolling');
|
||||||
|
$(ownerDocument).unbind(eventClass('mousemove'), mouseMoveHandler);
|
||||||
|
};
|
||||||
|
|
||||||
$scrollbarX.bind(eventClass('mousedown'), function (e) {
|
$scrollbarX.bind(eventClass('mousedown'), function (e) {
|
||||||
currentPageX = e.pageX;
|
currentPageX = e.pageX;
|
||||||
currentLeft = $scrollbarX.position().left;
|
currentLeft = $scrollbarX.position().left;
|
||||||
$scrollbarXRail.addClass('in-scrolling');
|
$scrollbarXRail.addClass('in-scrolling');
|
||||||
inScrolling = true;
|
|
||||||
|
$(ownerDocument).bind(eventClass('mousemove'), mouseMoveHandler);
|
||||||
|
$(ownerDocument).one(eventClass('mouseup'), mouseUpHandler);
|
||||||
|
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(ownerDocument).bind(eventClass('mousemove'), function (e) {
|
|
||||||
if (inScrolling) {
|
|
||||||
updateScrollLeft(currentLeft, e.pageX - currentPageX);
|
|
||||||
updateGeometry();
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(ownerDocument).bind(eventClass('mouseup'), function (e) {
|
|
||||||
if (inScrolling) {
|
|
||||||
inScrolling = false;
|
|
||||||
$scrollbarXRail.removeClass('in-scrolling');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
currentLeft =
|
currentLeft =
|
||||||
currentPageX = null;
|
currentPageX = null;
|
||||||
}
|
}
|
||||||
@ -284,32 +282,30 @@
|
|||||||
var currentTop;
|
var currentTop;
|
||||||
var currentPageY;
|
var currentPageY;
|
||||||
|
|
||||||
var inScrolling = false;
|
var mouseMoveHandler = function (e) {
|
||||||
|
updateScrollTop(currentTop, e.pageY - currentPageY);
|
||||||
|
updateGeometry();
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
};
|
||||||
|
|
||||||
|
var mouseUpHandler = function (e) {
|
||||||
|
$scrollbarYRail.removeClass('in-scrolling');
|
||||||
|
$(ownerDocument).unbind(eventClass('mousemove'), mouseMoveHandler);
|
||||||
|
};
|
||||||
|
|
||||||
$scrollbarY.bind(eventClass('mousedown'), function (e) {
|
$scrollbarY.bind(eventClass('mousedown'), function (e) {
|
||||||
currentPageY = e.pageY;
|
currentPageY = e.pageY;
|
||||||
currentTop = $scrollbarY.position().top;
|
currentTop = $scrollbarY.position().top;
|
||||||
inScrolling = true;
|
|
||||||
$scrollbarYRail.addClass('in-scrolling');
|
$scrollbarYRail.addClass('in-scrolling');
|
||||||
|
|
||||||
|
$(ownerDocument).bind(eventClass('mousemove'), mouseMoveHandler);
|
||||||
|
$(ownerDocument).one(eventClass('mouseup'), mouseUpHandler);
|
||||||
|
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(ownerDocument).bind(eventClass('mousemove'), function (e) {
|
|
||||||
if (inScrolling) {
|
|
||||||
updateScrollTop(currentTop, e.pageY - currentPageY);
|
|
||||||
updateGeometry();
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(ownerDocument).bind(eventClass('mouseup'), function (e) {
|
|
||||||
if (inScrolling) {
|
|
||||||
inScrolling = false;
|
|
||||||
$scrollbarYRail.removeClass('in-scrolling');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
currentTop =
|
currentTop =
|
||||||
currentPageY = null;
|
currentPageY = null;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user