|
28 | 28 | scrollMap = {} |
29 | 29 |
|
30 | 30 | scrollMap.left = conditionParentUntilTrue(touchTarget, (element: HTMLElement) => { |
31 | | - return element.scrollLeft > 0; |
| 31 | + return element.scrollLeft > 0 && |
| 32 | + (window.getComputedStyle(element).overflow !== "hidden") && |
| 33 | + (window.getComputedStyle(element).overflowX !== "hidden"); |
32 | 34 | }); |
33 | 35 |
|
34 | 36 | scrollMap.top = conditionParentUntilTrue(touchTarget, (element: HTMLElement) => { |
35 | | - return element.scrollTop > 0; |
| 37 | + return element.scrollTop > 0 && |
| 38 | + (window.getComputedStyle(element).overflow !== "hidden") && |
| 39 | + (window.getComputedStyle(element).overflowY !== "hidden"); |
36 | 40 | }); |
37 | 41 |
|
38 | 42 | scrollMap.right = conditionParentUntilTrue(touchTarget, (element: HTMLElement) => { |
39 | 43 | return element.scrollWidth > element.clientWidth && |
40 | | - element.scrollWidth - element.clientWidth > element.scrollLeft; |
| 44 | + element.scrollWidth - element.clientWidth > element.scrollLeft && |
| 45 | + (window.getComputedStyle(element).overflow !== "hidden") && |
| 46 | + (window.getComputedStyle(element).overflowX !== "hidden"); |
41 | 47 | }); |
42 | 48 |
|
43 | 49 | scrollMap.bottom = conditionParentUntilTrue(touchTarget, (element: HTMLElement) => { |
44 | 50 | return element.scrollHeight > element.clientHeight && |
45 | | - element.scrollHeight - element.clientHeight > element.scrollTop; |
| 51 | + element.scrollHeight - element.clientHeight > element.scrollTop && |
| 52 | + (window.getComputedStyle(element).overflow !== "hidden") && |
| 53 | + (window.getComputedStyle(element).overflowY !== "hidden"); |
46 | 54 | }); |
47 | 55 |
|
48 | 56 | touchScreenX = e.targetTouches[0].screenX; |
|
67 | 75 | moveScreenX > touchScreenX && scrollMap.left || |
68 | 76 | moveScreenY < touchScreenY && scrollMap.bottom || |
69 | 77 | moveScreenX < touchScreenX && scrollMap.right || |
70 | | - moveScreenY > touchScreenY && scrollMap.top |
| 78 | + moveScreenY > touchScreenY && scrollMap.top |
71 | 79 | ) { |
72 | 80 | // You are scrolling either the element or its parent. |
73 | 81 | // This will not affect document.body scroll. |
|
0 commit comments