|
52 | 52 |
|
53 | 53 | tapEvt, |
54 | 54 | touchEvt, |
| 55 | + startEvt, |
55 | 56 |
|
56 | 57 | moved, |
57 | 58 |
|
|
99 | 100 | // Delect scrollEl |
100 | 101 | if (scrollParentEl !== rootEl) { |
101 | 102 | scrollEl = options.scroll; |
102 | | - scrollParentEl = rootEl; |
| 103 | + //scrollParentEl = rootEl; |
103 | 104 |
|
104 | 105 | if (scrollEl === true) { |
105 | 106 | scrollEl = rootEl; |
106 | 107 |
|
| 108 | + var yx = abs(startEvt.clientX - evt.clientX), yy = abs(startEvt.clientY - evt.clientY); |
| 109 | + |
| 110 | + //设置一个10像素的移动误差 |
| 111 | + if (yx % 10 == 0 || yy % 10 == 0) |
| 112 | + startEvt = evt; |
| 113 | + |
107 | 114 | do { |
108 | | - if ((scrollEl.offsetWidth < scrollEl.scrollWidth) || |
109 | | - (scrollEl.offsetHeight < scrollEl.scrollHeight) |
| 115 | + if ((yx > yy && scrollEl.offsetWidth < scrollEl.scrollWidth) || |
| 116 | + ((yx < yy && scrollEl.offsetHeight < scrollEl.scrollHeight)) |
110 | 117 | ) { |
111 | 118 | break; |
112 | 119 | } |
|
324 | 331 |
|
325 | 332 | if (target && !dragEl && (target.parentNode === el)) { |
326 | 333 | tapEvt = evt; |
| 334 | + startEvt = evt; |
327 | 335 |
|
328 | 336 | rootEl = el; |
329 | 337 | dragEl = target; |
|
496 | 504 | _css(ghostEl, 'msTransform', translate3d); |
497 | 505 | _css(ghostEl, 'transform', translate3d); |
498 | 506 |
|
499 | | - //拖拽时联动滚动条 |
500 | | - _aScroll(); |
501 | | - |
502 | 507 | evt.preventDefault(); |
503 | 508 | } |
504 | 509 |
|
505 | | - |
506 | | - //扩展滚动条区域自动滚动 |
507 | | - function _aScroll() { |
508 | | - if (!(opts && opts.scrollContainer)) |
509 | | - return; |
510 | | - var scrollEL = document.getElementById(opts.scrollContainer), |
511 | | - sl = scrollEL.getBoundingClientRect().left, |
512 | | - sr = scrollEL.getBoundingClientRect().left + scrollEL.offsetWidth, |
513 | | - gl = ghostEl.getBoundingClientRect().left, gr = ghostEl.getBoundingClientRect().right; |
514 | | - if (gr > sr) { |
515 | | - _timeScorll(function () { |
516 | | - scrollEL.scrollLeft = scrollEL.scrollLeft + 1; |
517 | | - }); |
518 | | - } |
519 | | - if (gl < sl) |
520 | | - _timeScorll(function () { |
521 | | - scrollEL.scrollLeft = scrollEL.scrollLeft - 1; |
522 | | - }); |
523 | | - |
524 | | - function _timeScorll(f) { |
525 | | - var i = 0; |
526 | | - var sTimer = setInterval(function () { |
527 | | - i++; |
528 | | - f(); |
529 | | - if (i == 20) |
530 | | - clearInterval(sTimer); |
531 | | - }, 30); |
532 | | - }; |
533 | | - } |
534 | | - |
535 | 510 | }, |
536 | 511 |
|
537 | 512 | _appendGhost: function () { |
|
0 commit comments