Side navigation
Ticket #2161: fixedposition.patch
File fixedposition.patch, 1.3 KB (added by scottgonzalez, January 14, 2008 08:42PM UTC)
Index: ui.draggable.js
===================================================================
--- ui.draggable.js (revision 4369)
+++ ui.draggable.js (working copy)
@@ -94,6 +94,7 @@
var elementPosition = { left: this.elementOffset.left - this.offsetParentOffset.left, top: this.elementOffset.top - this.offsetParentOffset.top };
this._pageX = e.pageX; this._pageY = e.pageY;
this.clickOffset = { left: e.pageX - this.elementOffset.left, top: e.pageY - this.elementOffset.top };
+ this.helperFixed = this.helper.css('position') == 'fixed';
var r = this.helper.css('position') == 'relative';
//Generate the original position
@@ -148,7 +149,10 @@
drag: function(e) {
//Compute the helpers position
- this.position = { top: e.pageY - this.offset.top, left: e.pageX - this.offset.left };
+ this.position = {
+ top: e.pageY - this.offset.top - ( this.helperFixed ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : 0 ),
+ left: e.pageX - this.offset.left - ( this.helperFixed ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : 0 )
+ };
this.positionAbs = { left: e.pageX - this.clickOffset.left, top: e.pageY - this.clickOffset.top };
//Call plugins and callbacks
Download in other formats:
Original Format
File fixedposition.patch, 1.3 KB (added by scottgonzalez, January 14, 2008 08:42PM UTC)
Index: ui.draggable.js
===================================================================
--- ui.draggable.js (revision 4369)
+++ ui.draggable.js (working copy)
@@ -94,6 +94,7 @@
var elementPosition = { left: this.elementOffset.left - this.offsetParentOffset.left, top: this.elementOffset.top - this.offsetParentOffset.top };
this._pageX = e.pageX; this._pageY = e.pageY;
this.clickOffset = { left: e.pageX - this.elementOffset.left, top: e.pageY - this.elementOffset.top };
+ this.helperFixed = this.helper.css('position') == 'fixed';
var r = this.helper.css('position') == 'relative';
//Generate the original position
@@ -148,7 +149,10 @@
drag: function(e) {
//Compute the helpers position
- this.position = { top: e.pageY - this.offset.top, left: e.pageX - this.offset.left };
+ this.position = {
+ top: e.pageY - this.offset.top - ( this.helperFixed ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : 0 ),
+ left: e.pageX - this.offset.left - ( this.helperFixed ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : 0 )
+ };
this.positionAbs = { left: e.pageX - this.clickOffset.left, top: e.pageY - this.clickOffset.top };
//Call plugins and callbacks