Changeset 493 for trunk/ui/ui.draggable.js
- Timestamp:
- 07/28/08 18:32:46 (20 months ago)
- Files:
-
- 1 modified
-
trunk/ui/ui.draggable.js (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ui/ui.draggable.js
r492 r493 72 72 do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); 73 73 return $(document); 74 }(this. element);74 }(this.helper); 75 75 this.scrollLeftParent = function(el) { 76 76 do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); 77 77 return $(document); 78 }(this. element);78 }(this.helper); 79 79 80 80 this.offsetParent = this.helper.offsetParent(); var po = this.offsetParent.offset(); //Get the offsetParent and cache its position … … 334 334 }); 335 335 336 337 336 338 $.ui.plugin.add("draggable", "scroll", { 337 339 start: function(e, ui) { … … 341 343 o.scrollSpeed = o.scrollSpeed || 20; 342 344 343 if(i.scrollTopParent[0] != document && i.scrollTopParent[0].tagName != 'HTML') i.overflowYOffset = i.scrollTopParent.offset(); 344 if(i.scrollLeftParent[0] != document && i.scrollLeftParent[0].tagName != 'HTML') i.overflowXOffset = i.scrollLeftParent.offset(); 345 i.overflowY = function(el) { 346 do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); 347 return $(document); 348 }(this); 349 i.overflowX = function(el) { 350 do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); 351 return $(document); 352 }(this); 353 354 if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') i.overflowYOffset = i.overflowY.offset(); 355 if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') i.overflowXOffset = i.overflowX.offset(); 345 356 346 357 }, 347 358 drag: function(e, ui) { 348 359 349 var o = ui.options ;360 var o = ui.options, scrolled = false; 350 361 var i = $(this).data("draggable"); 351 var scrolled = false; 352 353 if(i.scrollTopParent[0] != document && i.scrollTopParent[0].tagName != 'HTML') { 354 if((i.overflowYOffset.top + i.scrollTopParent[0].offsetHeight) - e.pageY < o.scrollSensitivity) 355 i.scrollTopParent[0].scrollTop = scrolled = i.scrollTopParent[0].scrollTop + o.scrollSpeed; 362 363 if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') { 364 if((i.overflowYOffset.top + i.overflowY[0].offsetHeight) - e.pageY < o.scrollSensitivity) 365 i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop + o.scrollSpeed; 356 366 if(e.pageY - i.overflowYOffset.top < o.scrollSensitivity) 357 i. scrollTopParent[0].scrollTop = scrolled = i.scrollTopParent[0].scrollTop - o.scrollSpeed;367 i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop - o.scrollSpeed; 358 368 359 369 } else { … … 364 374 } 365 375 366 if(i. scrollLeftParent[0] != document && i.scrollLeftParent[0].tagName != 'HTML') {367 if((i.overflowXOffset.left + i. scrollLeftParent[0].offsetWidth) - e.pageX < o.scrollSensitivity)368 scrolled = i.scrollLeftParent[0].scrollLeft = i.scrollLeftParent[0].scrollLeft + o.scrollSpeed;376 if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') { 377 if((i.overflowXOffset.left + i.overflowX[0].offsetWidth) - e.pageX < o.scrollSensitivity) 378 i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft + o.scrollSpeed; 369 379 if(e.pageX - i.overflowXOffset.left < o.scrollSensitivity) 370 scrolled = i.scrollLeftParent[0].scrollLeft = i.scrollLeftParent[0].scrollLeft - o.scrollSpeed;380 i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft - o.scrollSpeed; 371 381 } else { 372 382 if(e.pageX - $(document).scrollLeft() < o.scrollSensitivity) … … 381 391 } 382 392 }); 393 383 394 384 395 $.ui.plugin.add("draggable", "snap", {