|
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