|
86 | 86 | var shrink = element.resizeSensor.childNodes[1]; |
87 | 87 | var shrinkChild = shrink.childNodes[0]; |
88 | 88 |
|
89 | | - var lastShrinkWidth, lastShrinkHeight; |
90 | | - var lastExpandWidth, lastExpandHeight; |
| 89 | + var lastWidth, lastHeight; |
91 | 90 |
|
92 | 91 | var reset = function() { |
93 | 92 | expandChild.style.width = expand.offsetWidth + 10 + 'px'; |
|
96 | 95 | expand.scrollTop = expand.scrollHeight; |
97 | 96 | shrink.scrollLeft = shrink.scrollWidth; |
98 | 97 | shrink.scrollTop = shrink.scrollHeight; |
| 98 | + lastWidth = element.offsetWidth; |
| 99 | + lastHeight = element.offsetHeight; |
99 | 100 | }; |
100 | 101 |
|
101 | 102 | reset(); |
|
113 | 114 | el.addEventListener(name, cb); |
114 | 115 | } |
115 | 116 | }; |
| 117 | + |
| 118 | + var onScroll = function() { |
| 119 | + if (element.offsetWidth != lastWidth || element.offsetHeight != lastHeight) { |
| 120 | + changed(); |
| 121 | + } |
| 122 | + reset(); |
| 123 | + } |
116 | 124 |
|
117 | | - addEvent(expand, 'scroll', function() { |
118 | | - if (element.offsetWidth > lastExpandWidth || element.offsetHeight > lastExpandHeight) { |
119 | | - changed(); |
120 | | - } |
121 | | - reset(); |
122 | | - lastExpandWidth = element.offsetWidth; |
123 | | - lastExpandHeight = element.offsetHeight; |
124 | | - }); |
125 | | - |
126 | | - addEvent(shrink, 'scroll',function() { |
127 | | - if (element.offsetWidth < lastShrinkWidth || element.offsetHeight < lastShrinkHeight) { |
128 | | - changed(); |
129 | | - } |
130 | | - reset(); |
131 | | - lastShrinkWidth = element.offsetWidth; |
132 | | - lastShrinkHeight = element.offsetHeight; |
133 | | - }); |
| 125 | + addEvent(expand, 'scroll', onScroll); |
| 126 | + addEvent(shrink, 'scroll', onScroll); |
134 | 127 | } |
135 | 128 |
|
136 | 129 | if ("[object Array]" === Object.prototype.toString.call(element) |
|
0 commit comments