|
134 | 134 | }
|
135 | 135 |
|
136 | 136 | return {
|
137 |
| - left: left, |
138 |
| - top: top, |
139 |
| - mouse_left: mouse_actual_pos.left, |
140 |
| - mouse_top: mouse_actual_pos.top |
| 137 | + position: { |
| 138 | + left: left, |
| 139 | + top: top |
| 140 | + }, |
| 141 | + pointer: { |
| 142 | + left: mouse_actual_pos.left, |
| 143 | + top: mouse_actual_pos.top, |
| 144 | + diff_left: diff_x, |
| 145 | + diff_top: diff_y + this.scrollOffset |
| 146 | + } |
141 | 147 | };
|
142 | 148 | };
|
143 | 149 |
|
144 | 150 |
|
145 |
| - fn.manage_scroll = function(offset) { |
| 151 | + fn.get_drag_data = function(e) { |
| 152 | + var offset = this.get_offset(e); |
| 153 | + offset.$player = this.$player; |
| 154 | + offset.$helper = this.helper ? this.$helper : this.$player; |
| 155 | + |
| 156 | + return offset; |
| 157 | + }; |
| 158 | + |
| 159 | + |
| 160 | + fn.manage_scroll = function(data) { |
146 | 161 | /* scroll document */
|
147 | 162 | var nextScrollTop;
|
148 | 163 | var scrollTop = $window.scrollTop();
|
|
152 | 167 | var mouse_down_zone = max_window_y - 50;
|
153 | 168 | var mouse_up_zone = min_window_y + 50;
|
154 | 169 |
|
155 |
| - var abs_mouse_left = offset.mouse_left; |
156 |
| - var abs_mouse_top = min_window_y + offset.mouse_top; |
| 170 | + var abs_mouse_left = data.pointer.left; |
| 171 | + var abs_mouse_top = min_window_y + data.pointer.top; |
157 | 172 |
|
158 | 173 | var max_player_y = (this.doc_height - this.window_height +
|
159 | 174 | this.player_height);
|
|
254 | 269 | this.options.offset_left);
|
255 | 270 |
|
256 | 271 | if (this.options.start) {
|
257 |
| - this.options.start.call(this.$player, e, { |
258 |
| - helper: this.helper ? this.$helper : this.$player |
259 |
| - }); |
| 272 | + this.options.start.call(this.$player, e, this.get_drag_data(e)); |
260 | 273 | }
|
261 | 274 | return false;
|
262 | 275 | };
|
263 | 276 |
|
264 | 277 |
|
265 | 278 | fn.on_dragmove = function(e) {
|
266 |
| - var offset = this.get_offset(e); |
| 279 | + var data = this.get_drag_data(e); |
267 | 280 |
|
268 |
| - this.options.autoscroll && this.manage_scroll(offset); |
| 281 | + this.options.autoscroll && this.manage_scroll(data); |
269 | 282 |
|
270 | 283 | (this.helper ? this.$helper : this.$player).css({
|
271 | 284 | 'position': 'absolute',
|
272 | 285 | 'left' : offset.left,
|
273 | 286 | 'top' : offset.top
|
274 | 287 | });
|
275 | 288 |
|
276 |
| - var ui = { |
277 |
| - 'position': { |
278 |
| - 'left': offset.left, |
279 |
| - 'top': offset.top |
280 |
| - } |
281 |
| - }; |
282 | 289 |
|
283 | 290 | if (this.options.drag) {
|
284 |
| - this.options.drag.call(this.$player, e, ui); |
| 291 | + this.options.drag.call(this.$player, e, data); |
285 | 292 | }
|
286 | 293 | return false;
|
287 | 294 | };
|
288 | 295 |
|
289 | 296 |
|
290 | 297 | fn.on_dragstop = function(e) {
|
291 |
| - var offset = this.get_offset(e); |
| 298 | + var data = this.get_drag_data(e); |
292 | 299 | this.drag_start = false;
|
293 | 300 |
|
294 |
| - var ui = { |
295 |
| - 'position': { |
296 |
| - 'left': offset.left, |
297 |
| - 'top': offset.top |
298 |
| - } |
299 |
| - }; |
300 |
| - |
301 | 301 | if (this.options.stop) {
|
302 |
| - this.options.stop.call(this.$player, e, ui); |
| 302 | + this.options.stop.call(this.$player, e, data); |
303 | 303 | }
|
304 | 304 |
|
305 | 305 | if (this.helper) {
|
|
0 commit comments